将 HTML 表转换为下拉列表(或以其他方式获取带有列的选择标记)
Convert HTML table to dropdown (or otherwise getting a select tag with columns)
我现在的代码中有什么:
<select>
<option value="...">Dr. Steve 555-222-9393</option>
<option value="...">Jim 333-999-1111</option>
<option value="...">New Emergency Services 0118-999-881-99-9119-7253</option>
</select>
它看起来很糟糕,在几十个条目之后,它非常非常难以阅读。
我想要的是通过使用表格来模拟下拉列表,然后一次只显示表格的一行(当前所选行的值存储在隐藏的输入中(。
问题:在我开始自己编写之前,是否有人已经这样做了(在任何库中(? 我一直在浏览 jquery 插件注册表,有很多插件可以将<ul>
转换为像 <select>
和吨一样的行为,以创建花哨的多选。(如果您可以禁用多部分,其中一些甚至可能有效。 SE 自己的标签输入在其"下拉菜单"中具有非常花哨的格式。但是,如果有一个可以将<table>
(或其他任何东西(变成带有列的选择,它就会消失在噪音中。
注意:我发现许多相关帖子建议使用等宽字体和填充将数据排列在普通选择标签中,但我认为它可以做得更好,尤其是在看到像 Chosen 这样的 jquery 插件之后。
我找不到任何可以将表格转换为带有列的下拉列表的东西,但我能够使用 SelectBox它的data-text
属性来伪造它inline-block
:
<select>
<option value="1" data-search="555-555-5555 Bob" data-text="<span style="display:inline-block; min-width:10em; margin-right:1em;">555-555-5555</span><span style="display:inline-block;">Bob</span>"></option>
<option value="2" data-search="444-444-4444 Steve" data-text="<span style="display:inline-block; min-width:10em; margin-right:1em;">444-444-4444</span><span style="display:inline-block;">Steve</span>"></option>
</select>
data-search
是必需的,以便键入搜索工作(否则,它似乎希望用户键入 HTML 如 data-text
所示(。如果有人真的输入了 0118-999-881-99-9119-7253 等电话号码,则需要做更多的工作来使列对齐。
相关文章:
- 获取选择框的状态
- 使用jQuery获取选择列表中每个更改的值
- 在选择组中获取选择选项值以显示额外内容
- 在 jqGrid 内联编辑中获取选择的文本部分而不是值
- jQuery:如何获取选择数组中元素的索引
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- JavaScript/jQuery:获取选择功能在Firefox和Chrome中不起作用
- 获取选择框展开/用户焦点事件
- 如何使用jQuery获取选择值并传递给另一个函数
- 从谷歌文档中获取选择
- 获取选择组中选择选项的索引
- 在chrome扩展程序上下文菜单中获取选择DOM
- 获取选择选项 php 的值
- 在javascript/jquery中获取选择选项菜单
- 使用 jQuery 获取选择框 IE 的值
- AngularJS:在不修改ng模型的情况下获取选择标签
- 使用 Angular 从服务器端生成的下拉列表中获取选择属性值
- 如何获取选择值的值
- 如何在角度<选择>中获取选择选项
- 获取选择框的名称属性