此问题类似于此问题How do I add options to a DropDownList using jQuery? 但我想以有序的方式添加它。另一个问题中的示例只是将其添加到列表的末尾。代码如下:
var myOptions = {
1: "Test"
2: "Another"
};
$.each(myOptions, function(val, text) {
$('#Projects').append(
$('<option></option').val(val).html(text)
);
});
假设该列表已包含3个项目:“Blah”,“Foo”和“Zebra”。我希望能够在下拉列表中添加两个新选项(“Test”和“Another”),以便使用它(“Another”,“Blah”,“Foo”,“Test”和“Zebra”)进行排序jQuery的。
非常感谢任何帮助!!!
答案 0 :(得分:1)
看看jQuery相关的答案here。当然,在调用sort方法之前,您需要添加新选项。
答案 1 :(得分:1)
放手一搏:
// Sort Function
function sortAlpha(a,b) {
if(a.name > b.name) {
return 1;
} else if(a.name < b.name) {
return -1;
}
return 0;
}
// Options you want to add
var myOptions = [ {id:1, name:"Test"}, {id:2, name:"Another" } ];
// Create array from existing options and merge
$.merge(myOptions,
$.map( $('#Projects').find('option'), function(n){
return { id:n.value, name:n.innerHTML};
})
);
// Sort all options using above sort function
myOptions.sort(sortAlpha);
// Clear the <select> of existing options
$('#Projects').empty();
// Add the options to the <select>
$.each(myOptions, function() {
$('#Projects').append(
$('<option></option').val(this.id).html(this.name)
);
});