jQuery排序<select>项目名称
jQuery sorting <select> items by name
我有这个函数:
$('select[name=items]').each( function() {
$(this).html( $(this).find('option').sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}) );
});
<select name="items">
<option value="0">Please select</option>
<option value="1">XXX</option>
<option value="2">BBB</option>
<option value="3">RRR</option>
<option value="4">AAA</option>
如何在不改变0值位置的情况下进行排序?
您可以使用 :gt()
来避免第一个元素
$('select[name=items]').each(function() {
$(this).find('option:gt(0)').sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}).appendTo(this);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="items">
<option value="0">Please select</option>
<option value="1">XXX</option>
<option value="2">BBB</option>
<option value="3">RRR</option>
<option value="4">AAA</option>
</select>
或借助属性等于选择器和 :not()
$('select[name=items]').each(function() {
$(this).find('option:not([value=0])').sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}).appendTo(this);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="items">
<option value="0">Please select</option>
<option value="1">XXX</option>
<option value="2">BBB</option>
<option value="3">RRR</option>
<option value="4">AAA</option>
</select>
注意:也最好使用 append()
或 appentTo()
的 html()
相关文章:
- 正在将数据主题添加到所有项目
- jquery点击函数select&取消选择
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 在html Select中添加搜索
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- Jquery:未触发select事件
- Dojo:访问dijit.form.Select中单击的项目
- jQuery:根据select选项中的每页项目进行分页
- 如何在angular js中的select选项中获取所选项目id
- 通过Jquery将项目添加到HTML Select
- 从select创建项目列表/数组
- 用Javascript将焦点设置在select元素上会将第一个项目滚动到视图之外
- 如何使dijit.form.Select处理具有相同值的多个项目
- Ember select未显示所选项目
- 使用javascript修改select字段中的项目顺序
- & lt; select>当表单加载时,标签不加载所选项目
- AngularJS ui-select multiple,禁止用退格键删除项目
- 如何使用Ember.Select?如何设置默认选择的项目