作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在按此代码对下拉列表进行排序。
var bindSortselect= function() {
$("select").each(function() {
$(this).html($(this).children("option").sort(function (a, b) {
console.log(a.text);
console.log(b.text);
return a.text.toUpperCase() == b.text.toUpperCase() ? 0 : a.text.toUpperCase() < b.text.toUpperCase() ? -1 : 1
}));
});
};
但是我希望在排序后默认选择特定项目(由用户)。例如:如果我将上面的代码应用于所有“选择”标签,它将对其进行排序,然后设置默认值,就像我选择“DZD”从下拉列表中排序,因此排序后“DZD”仍保持选中状态。
<select id="id_currency" name="currency">
<option value="AFN"></option>
<option value="DZD"></option>
<option value="ARS"></option>
<option value="AMD"></option>
<option value="AWG"></option>
<option value="AUD"></option>
...
<option value="BND"></option>
</select>
请回复。提前致谢
最佳答案
在排序之前,将 select
标记的 value
存储在变量中,
var ch = $("select").val(); //fetch the value of select
排序后,将其设置回值
$("select").val(ch); //set the value to select
最后,
var bindSortselect= function() {
var ch = $("select").val(); //fetch the value of select
$("select").each(function() {
$(this).html($(this).children("option").sort(function (a, b) {
return a.text.toUpperCase() == b.text.toUpperCase() ? 0 : a.text.toUpperCase() < b.text.toUpperCase() ? -1 : 1
}));
});
$("select").val(ch); //set the value to select
};
关于javascript - 如何在Javascript中设置排序后的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697367/
我是一名优秀的程序员,十分优秀!