首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不按值或字母顺序对下拉列表进行排序

不按值或字母顺序对下拉列表进行排序
EN

Stack Overflow用户
提问于 2015-04-07 03:08:35
回答 2查看 511关注 0票数 0

我有一个非常开放的问题。我知道如何通过jQuery按值和字母顺序对下拉列表进行排序。但是,有没有一种方法可以不按值或按字母顺序对其进行自定义排序呢?

EN

回答 2

Stack Overflow用户

发布于 2015-04-07 03:22:18

您可以添加一个data-order属性,然后使用该值对选项进行排序:

演示:http://jsfiddle.net/kpt19djr/1/

代码语言:javascript
复制
<select id="test">
    <option data-order="7">opt 1</option>
    <option data-order="4">opt 2</option>
    <option data-order="1">opt 3</option>
    <option data-order="5">opt 4</option>
    <option data-order="6">opt 5</option>
    <option data-order="2">opt 6</option>
    <option data-order="3">opt 7</option>
</select>

JS:

代码语言:javascript
复制
$("#test").html($("#test option").val(function(){
    return $(this).data('order');
}).sort(function (a, b) {
    var a = parseInt(a.value,10), b = parseInt(b.value,10);
    return a < b ? -1 : 1;
}));
票数 1
EN

Stack Overflow用户

发布于 2015-04-07 03:13:28

添加一个附加字段以捕获排序顺序,按该字段排序,并从视图中隐藏该字段...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29477893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档