glo*_*rob 17 javascript jquery select
我正在寻找一个函数,它将选择列表中的选项列表,并按字母顺序排序,但有一个扭曲.带有文本"NA"的所有值都应该被推到列表的底部.
所以给出一个清单 -
<select>
<option value="1">Car</option>
<option value="2">Bus</option>
<option value="3">NA</option>
<option value="4">Bike</option>
<option value="5">Tractor</option>
<option value="6">NA</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我们最终应该 -
<select>
<option value="4">Bike</option>
<option value="2">Bus</option>
<option value="1">Car</option>
<option value="5">Tractor</option>
<option value="3">NA</option>
<option value="6">NA</option>
</select>
Run Code Online (Sandbox Code Playgroud)
NA的顺序并不重要.
并且不要问为什么我不能只删除NA(或者为什么会有几个选项使用相同的文本但不同的基础值,因为我也不同意它.
kei*_*kei 45
function NASort(a, b) {
if (a.innerHTML == 'NA') {
return 1;
}
else if (b.innerHTML == 'NA') {
return -1;
}
return (a.innerHTML > b.innerHTML) ? 1 : -1;
};
$('select option').sort(NASort).appendTo('select');
Run Code Online (Sandbox Code Playgroud)
Mar*_*ahn 16
var sb = $('select');
sb.append(sb.find('option').sort(function(a, b){
return (
a = $(a).text(),
b = $(b).text(),
a == 'NA' ? 1 : b == 'NA' ? -1 : 0|a > b
);
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34793 次 |
| 最近记录: |