我在控制器中有一个网格设计,显示所选复选框的所有数据。 此网格通过ajax附加到跨度。 在执行删除请求时,逐个删除网格中的数据, 但是网格标题保持不变。
这是我在控制器中设计的网格:
$res_div = '';
$res_div.='<table width="100%" border="0" class="table table-striped table-bordered table-hover">';
$res_div.='<tr>
<th width="100%">SublawId</th>
<th width="100%">Sublawname</th>
<th width="100%">View</th>
<th width="100%">Update</th>
</tr>';
foreach ($law as $sublaw)
{
$law_details = DB::table('tbl_law_sub_master')->where('id', $sublaw->id)->select('*')->first();
$res_div.='<tr>
<td>
<strong>'.$law_details->lms_id.'</strong>
</td>
<td>
<strong>('.$law_details->sub_law_name.')</strong>
</td>
<td align="center">
<input type="checkbox" id="cb1" onclick="ts(this)" class="cb1" name="viewsub_'.$sublaw->id.'">
</td>
<td align="center">
<input type="checkbox" id="cb1" onclick="ts(this)" class="cb1" name="updatesub_'.$sublaw->id.'">
</td>
</tr>';
}
$res_div.='</table>';
$data=array(
'res_div'=>$res_div,
'law'=>$law
);
return json_encode($data);
我对刀片的ajax请求:
$.ajax({
url: "{{ URL::to('staff/staffpostsublawsdata') }}?sub_law_id="+sublaw_ids.join(),
type: 'POST',
dataType: "json",
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
var res_sublaw_content=returndata.res_div;
var data = document.getElementById("append_sublaw_grid").innerHTML = ""; $('#append_sublaw_grid').append(res_sublaw_content);
return false;
}
});
删除后,所有数据都会从网格中逐个删除,但其标题会保留..
截图:
答案 0 :(得分:1)
每次删除行时,您都可以使用
计算剩余的行数var rowCount = $('.table tbody tr').length;
如果rowcount
变为0,则只需使用
$('.table').hide()
工作示例:
将此代码放在删除行
的函数中var rowCount = $('.table tbody tr').length;
if( rowcount == 0){
$('.table').hide();
}