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

09-19 06:32