我正在尝试订购我的选择框和 optgroup。 我让它对我的选择选项进行排序。需要帮助对 optgroup 进行排序。然后对选项进行排序。
function sort_select(as, bs){
var a, b, a1, b1, i= 0, n, L,
rx=/(\.\d+)|(\d+(\.\d+)?)|([^\d.]+)|(\.\D+)|(\.$)/g;
if(as=== bs) return 0;
a= as.toLowerCase().match(rx);
b= bs.toLowerCase().match(rx);
L= a.length;
while(i<L){
if(!b[i]) return 1;
a1= a[i],
b1= b[i++];
if(a1!== b1){
n= a1-b1;
if(!isNaN(n)) return n;
return a1>b1? 1:-1;
}
}
return b[i]? -1:0;
}
最佳答案
$(document).ready(function () {
function byLabel(a,b){
return (a.label < b.label) ? -1 : (a.label > b.label) ? 1 : 0;
}
var sortedOpts = $('#products').children('optgroup');
sortedOpts.sort(byLabel);
$('#products').append(sortedOpts);
$('#products optgroup').each(function(o,i){
var so = $(this).children().sort(byLabel);
$(this).append(so);
})
});
关于javascript - 对 optgroup 进行排序并选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50141646/