基于字母表的选择元素的动态选项组
Dynamic option groups for Select element based on alphabet
我正在从数据数组动态生成一个选择列表,我想根据字母表添加选项组。
例如数据
data = [
['bcde','21254'], ['abcd','1234'], ['abcde','23456'], ['bcdef','3232']
];
data.sort();
负责基于字母表的排序,然后我浏览数据,并在每个数据上执行以下操作:
<option value="item[1]">item[0]</option>
但是我想做的是,在根据字母对项目进行排序后,检查每个项目的第一个字符并在此基础上创建选项组,当下一个项目的字符不同时,创建一个标有新字符的新选项组
所以输出应该看起来像:
<select>
<optgroup label="A">
<option value="1234">abcd</option>
<option value="23456">abcde</option>
</optgroup>
<optgroup label="B">
<option value="21254">bcde</option>
<option value="3232">bcdef</option>
</optgroup>
</select>
任何人都可以建议这样做的最佳方法是什么,顺便说一下,我正在使用jquery,干杯。
编辑,这是我当前的代码:
$.when( $.indexedDB("dbname").objectStore('employee').each(function(item){
employeenames.push([item.value.name,item.value.id]);
}).then(function(){
employeenames.sort();
$.each(employeenames, function(index, item){
employeenames[index] = '<option value="'+item[1]+'">'+item[0]+'</option>';
});
})
).done(function() {
$("#employeenameBox select").html(employeenames);
});
尝试
data.sort();
var chars = {};
$.each(data, function (_, item) {
var char = item[0].charAt(0).toUpperCase();
if (!chars[char]) {
chars[char] = $('<optgroup />', {
label: char
}).appendTo('select');
}
$('<option />', {
text: item[0],
value: item[0]
}).appendTo(chars[char]);
});
演示:小提琴
更新:
$.when($.indexedDB("dbname").objectStore('employee').each(function (item) {
employeenames.push([item.value.name, item.value.id]);
}).then(function () {
employeenames.sort();
var chars = {};
$.each(employeenames, function (_, item) {
var char = item[0].charAt(0).toUpperCase();
if (!chars[char]) {
chars[char] = $('<optgroup />', {
label: char
}).appendTo('#employeenameBox select');
}
$('<option />', {
text: item[0],
value: item[0]
}).appendTo(chars[char]);
});
});
相关文章:
- .aspx页面上引导程序中的动态选项卡
- AngularJS 指令的动态选项
- 如何将活动类添加到第一个动态选项卡而不是角度的静态选项卡
- 角度 JS 动态选项卡字段
- Mozilla”;添加“;sdk,简单的pref模块,动态选项(取决于以前选项的选项)
- 使用javascript的动态选项
- 为什么动态选项看起来这么小
- jQuery select2 动态选项
- 基于字母表的选择元素的动态选项组
- 使用 jQuery 自动执行 Bootstrap 动态选项卡
- 动态选项中的默认值
- JQuery 动态选项 选择“问题”
- 在BootStrap选项卡中添加动态选项卡
- jQuery UI选项卡:从链接定位动态选项卡
- Jquery UI禁用动态选项卡
- 如何在单击按钮时添加动态选项卡,但只能单击一次
- 在选择标签中插入动态选项,使用Jquery
- 将动态选项传递给javascript
- 木偶行为:添加动态选项
- 引导选择自定义动态选项