gpt4 book ai didi

java - 在 Javascript 中排序选择选项 - 基于同一行中的多个值

转载 作者:行者123 更新时间:2023-11-27 22:35:19 25 4
gpt4 key购买 nike

我创建了一个这样的列表框,并创建了一个有助于对数据进行排序的标题栏:

ID                 Name
------------------------------------------------------------
ID1 Identity One
ID2 Identity Two
ID3 Identity Three
ID4 Identity Four
-------------------------------------------------------------

我需要根据 ID 和名称对上面的列表进行排序,这意味着当用户单击 ID 时,它应该根据 ID 对列表进行排序,反之亦然。但问题是从数据层我们在一行中得到这样的:

ID1   &nbsp:Idenitity One

所以我们在选项标签中打印相同的内容,并获得如上所示的输出。生成上述输出的代码是:

 <select id="selSort" size="10" style="width:350px" id="rpt">
<option value = "ID1">
ID1 &nbsp; &nbsp; Identity One
</option>
<option value = "ID2">
ID2 &nbsp; &nbsp; Identity Two
</option>
<option value = "ID4">
ID4 &nbsp; &nbsp; Identity Four
</option>
<option value = "ID3">
ID3 &nbsp; &nbsp; Identity Three
</option>

我的问题是如何为上述情况实现排序工具?是的,我尝试排序,但它是对整个列表框进行排序,而不是基于单个值。至少现在我能做的是格式化传入数据,将所有 ID 放在一个数组中,将名称放在另一个数组中,因此对此表示赞赏的任何指南/指针。如果我没有解释清楚,请告诉我

编辑:

我尝试对列表框进行排序的代码

function sortSelect(selElem) {
var tmpAry = new Array();
for (var i=0;i<selElem.options.length;i++) {
tmpAry[i] = new Array();
tmpAry[i][0] = selElem.options[i].text;
tmpAry[i][1] = selElem.options[i].value;
}
tmpAry.sort();
while (selElem.options.length > 0) {
selElem.options[0] = null;
}
for (var i=0;i<tmpAry.length;i++) {
var op = new Option(tmpAry[i][0], tmpAry[i][1]);
selElem.options[i] = op;
}
return;
}

最佳答案

您可以使用自定义数组排序看看这个 How to sort select base on an id ?

这里的想法只是创建一个数组并根据其值进行排序,而不是根据排序后的值动态创建选项。

自定义排序代码

source.sort(function (x, y) {
if (isAsc)
return y.id - x.id;
else
return x.id - y.id;
});

关于java - 在 Javascript 中排序选择选项 - 基于同一行中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212395/

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