gpt4 book ai didi

javascript - 从最近的选中复选框的表行返回对象数组

转载 作者:行者123 更新时间:2023-12-03 11:17:59 26 4
gpt4 key购买 nike

我试图获取已选中的复选框的表行的 id 值,但出于某种原因。我当前的脚本没有返回对象数组:

console.log(array_checks); 返回我需要的内容:对象数组并使脚本正常工作。但是,如果我取消注释 .closest('tr').attr('id'),它不再返回对象数组,而是返回一个带有第一个检查的表行 id 的字符串。我哪里错了

HTML

<tr id="row_132" class="even">
<td>
<input id="52" class="checkbox-dash" type="checkbox" value="52" name="delete-dash[]">
</td>
</tr>
<tr id="row_91" class="even">
<td>
<input id="54" class="checkbox-dash" type="checkbox" value="54" name="delete-dash[]">
</td>
</tr>

Jquery

var array_checks = $('.checkbox-dash:checked')/*.closest('tr').attr('id')*/;
console.log(array_checks);
if (array_checks.length) {
// Getting values of the table row id of checked checkboxes
var array_values = array_checks.map(function(){
return this.value;
}).get();
} else {
var array_values = 0;
$('#message').html('Please select at least one row in order to delete.').show(700);
}
$.ajax({
type: 'post',
url: '../lib/ajax.html',
data: {
action: 'delete_sites_history',
user_id: user_id,
array_values: array_values
},
beforeSend: function() {
$("#result").html('Loading...');
},
complete: function(data) {
$("#result").html('');
$.each(array_values, function(index, rows) {
console.log(rows);
$('#row_'+rows).fadeOut(1000);
});
},
error: function() {
$("#result").html('There was an error');
}
});

预期输出

console.log(array_checks); - 需要返回对象数组(row_132、row_91)

Object[
tr#row_132.checkbox-dash attribute value = "132",
tr#row_91.checkbox-dash attribute value = "91"
]

最佳答案

您可以使用has:选择器:

$('tr:has(.checkbox-dash:checked)')

要获取所有 id,您不能使用 attr,因为它仅返回集合中第一个节点的值,但您可以执行以下操作:

var ids = $('tr:has(.checkbox-dash:checked)').map(function () {
return this.id;
}).get();

关于javascript - 从最近的选中复选框的表行返回对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27250956/

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