我有以下控制器代码,
public function user_ajaxtest()
{
$userlistingx = $this->model_usermanage->viewuserlisting();
$userlistingy = array(
array('select' => '<input type="checkbox" name="id[]" value="">')
);
$userlisting1['data'] = array_merge($userlistingx, $userlistingy);
echo json_encode($userlisting1);
}
使用此AJAX,我将用户列表发送到DataTables。 $ userlistx给我用户数组,我可以看到一切, 但我想为每一行数据表添加复选框, 为此我创建了另一个数组$ userlistingy,然后合并这两个数组
有了这个,我在数据表中再获得一行而不是列,
参见下面的ajax响应,我通常没有合并数组,只有echo json $ userlistingx。
数据:[{test_id:&#34; 8&#34;,user_id:&#34; 28&#34;,usernote:&#34; 1 image 1 attachment&#34 ;, department_id:&#34; 21& #34;,...},...] 0:{test_id:&#34; 9&#34;,user_id:&#34; 29&#34;,usernote:&#34; 1 image 1 attachment&#34; 1:{test_id:&#34; 10&#34;,user_id:&#34; 30&#34;,usernote:&#34; 1 image 1 attachment&#34;
但是当我合并并发送Json时,我得到了以下,
数据:[{test_id:&#34; 8&#34;,user_id:&#34; 28&#34;,usernote:&#34; 1 image 1 attachment&#34 ;, department_id:&#34; 21& #34;,...},...]
0:{test_id:&#34; 9&#34;,user_id:&#34; 29&#34;,usernote:&#34; 1 image 1 attachment&#34;
1:{test_id:&#34; 10&#34;,user_id:&#34; 30&#34;,usernote:&#34; 1 image 1 attachment&#34;
2:{select:"<input type="checkbox" name="id[]" value="">"
}
简而言之,我如何将select复选框数组添加到我的所有数据行?
答案 0 :(得分:0)
你可以试试这个
$userlistingx = $this->model_usermanage->viewuserlisting();
for($i=0;$i<count($userlistingx);$i++)
{
$userlistingy[]='<input type="checkbox" name="id[]" value="">';
}
$userlisting1['data'] = array_merge($userlistingx, $userlistingy);
echo json_encode($userlisting1);
答案 1 :(得分:0)
无需通过响应中的复选框。将它们添加到您正在使用的表中。
<强> HTML 强>
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example" width="100%">
<thead>
<tr>
<th>name</th>
<th>option</th>
</tr>
</thead>
</table>
<强>脚本强>
$('#example').dataTable( {
ajax: "yourpage.php",
columns: [
{ data: "name" },
{
data: "your_data",
render: function ( data, type, row ) {
return '<input type="checkbox" name="name_check" value="">';
},
}
],
} );