var ccArray = [];
ccArray = $("input:checkbox[name='multiselect_ddlCC']").sort();
我可以告诉我在数组中获得了我需要的值,但是sort()运行后,数组顺序改变了,但不是按字母顺序排列。我得到诸如ENG,ATL,NAS,CLT,BIM之类的东西。
有任何想法吗?
最佳答案
您必须对DOM元素进行排序并重新添加它们。
var $els = $("input:checkbox[name='multiselect_ddlCC']");
var $sorted = $($els.toArray().sort(function(a, b) {
return a.value > b.value;
}));
$els.replaceWith($sorted);
编辑:刚刚测试了
replaceWith
,它没有用,我不好。这工作正常:$els.each(function(i) {
$(this).after($sorted.eq(i));
});
演示: http://jsbin.com/agizoy/1/edit