gpt4 book ai didi

jquery - 获取表格单元格值并按字母顺序排序

转载 作者:行者123 更新时间:2023-12-01 01:32:08 27 4
gpt4 key购买 nike

我创建了一个表。首先,我使用按钮获取第二列的 td 值。我将值发送到数组。后来我调用排序函数,我想将排序后的值写入第二列的 td 值。我的错误在哪里?还有有什么不同的方法吗?

    <html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
</head>
<body>
<input type="button" value="Sort" id="sort"></input>
<table cellpadding="1" cellspacing="1" id="mytable" border="1">
<tr>
<td>Coby</td>
<td>Vanna</td>
<td>Balurghat</td>
</tr>
<tr>
<td>Arsenio</td>
<td>Ignacia</td>
<td>Tramutola</td>
</tr>
<tr>
<td>Kenneth</td>
<td>Gretchen</td>
<td>Penhold</td>
</tr>
<tr>
<td>Aquila</td>
<td>Breanna</td>
<td>Liverpool</td>
</tr>
<tr>
<td>Dane</td>
<td>Isadora</td>
<td>Silverton</td>
</tr>
<tr>
<td>Jerry</td>
<td>Mari</td>
<td>Thon</td>
</tr>
<tr>
<td>Kareem</td>
<td>Courtney</td>
<td>Senneville</td>
</tr>
<tr>
<td>Fulton</td>
<td>Karen</td>
<td>Berloz</td>
</tr>
<tr>
<td>Quamar</td>
<td>Quon</td>
<td>Zamora</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
$("#sort").click(function(){
$('#mytable tr').each(function() {
var arr=[];
var x = $(this).find("td").eq(1).text();
arr.push(x);
SortElements();
});
})


function SortElements() {
arr.sort(alphabetical);
alert(arr);
}
function alphabetical(a, b)
{
var A = a.toLowerCase();
var B = b.toLowerCase();
if (A < B){
return -1;
}else if (A > B){
return 1;
}else{
return 0;
}
}
</script>
</body>
</html>

最佳答案

一些事情:您实际上并没有将任何内容写回您发布的代码中的表中。

SortElements()每次从另一个 <tr> 读取值时都会调用。只需先收集所有值,然后完成$('#mytable tr').each()循环,调用SortElements()一次。

您正在删除您的 arr$('#mytable tr').each() 内的每次迭代通过这样做var arr=[];在循环之前执行一次。

$("#sort").click(function(){
var arr = [];

$('#mytable tr').each(function() {
var x = $(this).find("td").eq(1).text();
arr.push(x);
}).promise().done(function(){
arr = sort_elements(arr);
var i = 0;

// Simply loop again and insert the object with
// that index.
$('#mytable tr').each(function() {
$(this).find("td").eq(1).text(arr[i++]);
});
});
});

使用$(elem).each().promise().done()构建 each()方法 then-able(参见 this answer )。

还有你的sort_elements收到 arr作为参数

function sort_elements(arr) {
arr.sort(alphabetical);
return arr
}

关于jquery - 获取表格单元格值并按字母顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37576555/

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