首页 > 解决方案 > 复选框函数使用兄弟().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); 

即使我知道它行不通,当然也行不通

标签: javascriptphparraysajax

解决方案


听起来您只需要访问 IDArray 的每个数组元素的第一个值,您可以通过 foreach 循环来完成,例如

foreach ($_POST['IDArray'] as $IDArray) {
    $id = $IDArray[0];
    // do something with $id
}

推荐阅读