sort选择Options元素

时间:2015-11-16 15:53:45

标签: javascript jquery html

我在排序我的选择列表元素时遇到了问题。事实上,我有两个依赖列表,其中一个列表包含"模型"我已使用此功能成功排序:

var sel = $('#model');
var opts_list = sel.find('option');
opts_list.sort(function(a, b) { return $(a).text() > $(b).text() ? 1 : -1; });
sel.html('').append(opts_list);

但第二个列表包含所选模型的版本,其内部版本号为括号......

示例:

 2.00.312 (11)  
 5.105.402 (43)
 2.05.105 (141)
 4.54.200 (151)
 2.35.504 (61)
 1.204.454 (10)

http://jsfiddle.net/e9hdaqpv/

1 个答案:

答案 0 :(得分:1)

正则表达式完成了这项工作:

FIDDLE

items[value].sort(function (a, b) {
    a = Object.keys(a)[0].replace(/\(([^)]+)\)/,"").replace(/\./g,"");
    b = Object.keys(b)[0].replace(/\(([^)]+)\)/,"").replace(/\./g,"");
    console.log(a,b);
    return a > b ? 1 : -1;
});