排序选择元素选项并保留焦点

时间:2014-01-01 08:17:48

标签: javascript jquery sorting select

我正在尝试编写脚本,对页面上的所有选择元素进行排序并保留所选的元素。我已经工作并实现了下面给出的功能。此功能适用于排序但丢失了所选文本的焦点,因为渲染页面的来源表明仍然选择了先前选定的项目,但焦点设置为最后一项。

       var bindSortselect= function(){
           $("select").each(function(){
               $(this).html($(this).children("option").sort(function (a, b) {
                 if (a.text.toUpperCase() == b.text.toUpperCase()) return 0;
                 if (a.text.toUpperCase() < b.text.toUpperCase()) return -1;
                 if (a.text.toUpperCase() > b.text.toUpperCase()) return 1;
               }));
          });
        };

任何想法都会受到赞赏吗?

1 个答案:

答案 0 :(得分:2)

您只需要保留选定的option,然后在对options进行排序后再次设置它。请检查此fiddle