javascript - 复选框函数使用兄弟().map(function() 需要转换为php数组
问题描述
当检查复选框时(或检查了多个复选框)时,我试图通过AJAX调用将一个TD数据传递给PHP。我有一个动态表,第一个 td 包含复选框,第二个 td 包含行 id。我需要的是每行选中复选框的行 id。我可以使用这个 js 获取所有行 td代码
arr=[];
//If all selected value has to pass through ajax one by one row/
$('input:checked').parent().each(function(){
arr.push($(this).siblings().map(function(){
return $(this).text()
}).get());
});
$.ajax({
type: "POST",
url: "test.php",
dataType: "json",
data: ({StatusEnterUpdate:$('#StatusEnterUpdate').val(), TrackingUpdate: $('#TrackingUpdate').val(),
ShipDateUpdate: $('#ShipDateUpdate').val(), LocationUpdate: $('#ShipLocation5').val(), QBEnterUpdate: $('#QBEnterUpdate').val(),
IDArray:arr,
}),
但是IDarray的传递值如下与php文件中的var_dump
array(31) {
[1]=>
array(18) {
[0]=>
string(4) "7231"
[1]=>
string(8) "14566"
}
[2]=>
array(18) {
[0]=>
string(4) "7232"
[1]=>
string(8) "14566"
}
我只需要 array(18) [0]=> string(4) 的值(最多可以是 200 个值)我知道我遗漏了一些东西,或者有一种更简单的方法来获取包含该数据而不是整个数据的 td行数据。我试过了
json_decode($_POST["IDArray"],true);
即使我知道它行不通,当然也行不通
解决方案
听起来您只需要访问 IDArray 的每个数组元素的第一个值,您可以通过 foreach 循环来完成,例如
foreach ($_POST['IDArray'] as $IDArray) {
$id = $IDArray[0];
// do something with $id
}