我有像这样的html
<table id="library_info_tbl">
<thead>
<th>Call No.</th>
<th>Book</th>
<th>Accession No.</th>
<th>Status</th>
</thead>
<tbody>
<tr><td>12<td><td>ffyuyudf</td><td>61</td><td>Lost</td></tr>
<tr><td>12<td><td>ffyuyudf</td><td>62</td>Damaged</tr>
<tr><td>12<td><td>ffyuyudf</td><td>63</td>Damaged</tr>
<tr><td>13<td><td>abcdef</td><td>72</td>Lost</tr>
<tr><td>13<td><td>abcdef</td><td>73</td>Lost</tr>
...
</tbody>
</table>
我正在尝试调整以下几行
$('#library_info_tbl tbody tr').each(function() {
var statusarray = [];
var callno = $(this).find("td:first-child").html();
var accessionno = $(this).find("td:nth-child(2)").html();
var status = $(this).find("td:last-child").html();
var callnotouse = "";
if(callno is similar)
{
var innerarray = {};
innerarray = {
status: status,
accessionno: accessionno
};
statusarray.push(innerarray);
callnotouse = callno;
}
if(statusarray.length)
{
$.ajax({
url: 'index.php?action=savestatus',
type: 'POST',
dataType: 'JSON',
data: {callno:callnotouse,statusarray:statusarray},
...
}
continue;
});
用于实现statusarray和callnotouse以便在ajax调用中传递它们。基本上我希望代码应该像首先一样工作,它应该检查表中类似的调用号码,例如上表中的调用号码。
它应该首先根据 callno 12 进行获取,并且内部数组或状态数组应该包含类似的数据
status: Lost,
accessionno: 61
status: Damaged,
accessionno: 62
status: Damaged,
accessionno: 63
callnotouse = 12
这些数据应该传递给ajax调用(将保存在数据库中)。之后,在表的相同循环中,应该采用 callno 13
status: Lost,
accessionno: 72
status: Lost,
accessionno: 73
callnotouse = 13
然后它应该被传递给 ajax 调用等等。基本上我无法在类似的callno的基础上调整上面的代码。
最佳答案
工作代码
var libraryInfos = [];
$("#library_info_tbl tbody tr").each(function(){
var tds = $("td", this);
var callNo = tds.first().html();
if(typeof libraryInfos[callNo] == 'undefined'){
libraryInfos[callNo] = [];
}
libraryInfos[callNo].push({
status: $(tds[4]).html(),
accessionNo: parseInt($(tds[3]).html())
});
});
$.each(libraryInfos, function(callNo, statusArr){
if(statusArr){
var reqData = { callno: callNo, statusarray: statusArr };
$.ajax({
url: 'index.php?action=savestatus',
type: 'POST',
dataType: 'JSON',
data: reqData
});
console.log(reqData);
}
});
关于javascript - 如何在 jQuery 中以 block 的形式传递 html 表中的一些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47655110/