gpt4 book ai didi

javascript 选择按字母顺序排序

转载 作者:行者123 更新时间:2023-11-28 12:13:22 25 4
gpt4 key购买 nike

我正在尝试按字母顺序对选项进行排序

我的 HTML 是

<select id="myOpt">
<option value="" selected data-default>Select Name</option>
<option value="3">John Snow</option>
<option value="34">Arya Stark</option>
<option value="54">Sansa Stark</option>
<option value="4">Hound</option>
</select>

js

var options = $("#myOpt option");                           
options.detach().sort(function(a,b) {
var at = $(a).text();
var bt = $(b).text();
return (at > bt)?1:((at < bt)?-1:0);
});
options.appendTo("#myOpt");

它对选项进行了正确排序,但现在它显示的是最后一个选项,而不是选定的选项。我的问题是如何显示选定的选项而不是最后一个选项,并且可以通过其他客户端方法来完成吗?因为对于大列表,它会使页面变慢

最佳答案

试试这个,

var options = $("#myOpt option");  
var selectedVal = '';
options.detach().sort(function(a,b) {
var at = $(a).text();
var bt = $(b).text();
if($(a).attr('selected') || $(b).attr('selected')){
selectedVal = $(a).attr('selected') ? $(a).val() : $(b).val();
return false;
}
return (at > bt)?1:((at < bt)?-1:0);
});
options.appendTo("#myOpt");
$('#myOpt').val(selectedVal);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="myOpt">
<option value="" selected data-default>Select Name</option>
<option value="3">John Snow</option>
<option value="34">Arya Stark</option>
<option value="54">Sansa Stark</option>
<option value="4">Hound</option>
</select>

关于javascript 选择按字母顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55804614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com