我在表格中打印数据并尝试更改特定hidden field
的名称,但我的代码不能如下所示
<table class="table table-hover">
<thead>
<tr>
<th>
<input type="checkbox">
</th>
<th>sr no</th>
<th>seller</th>
<th>shape</th>
<th>size</th>
<th>color</th>
<th>discount</th>
<th>client</th>
</tr>
</thead>
<tbody>
@foreach($cod_details as $cod)
<tr>
<td>
<input type="checkbox" name="ids[]" id="{{ $cod->id }}" value="{{ $cod->id }}">
<input type="hidden" value="{{ $cod->report_no }}" id="{{ $cod->report_no }}" name="" class="report">
</td>
<td>{{ $cod->id }}</td>
<td>{{ $cod->seller }}</td>
<td>{{ $cod->shape }}</td>
<td>{{ $cod->size }}</td>
<td>{{ $cod->color }}</t
<td>{{ $cod->discount }}</td>
<td>{{ $cod->client }}</td>
</tr>
@endforeach
</tbody>
</table>
这显示了表格中的所有细节并且工作正常。
$(document).ready(function(e){
$('input[type="checkbox"]').click(function(){
if($(this).prop("checked") == true){
$(this).closest('input[type="hidden"]').attr('name','report_no[]');
}
else{
}
});
});
我尝试在选中复选框时添加name = report_no[]
,但我不能。
答案 0 :(得分:0)
它是DOM中的下一个元素,紧跟在复选框之后。所以在你的处理程序中:
var input = $(this).next();
...将为您提供input
字段的jQuery包装器。
旁注:if($(this).prop("checked") == true){
是一种非常冗长的撰写if (this.checked)
的方式,我只是使用它。 : - )
所以:
$('input[type="checkbox"]').click(function() {
if (this.checked) {
$(this).next().attr('name','report_no[]');
}
else {
}
});
如果要在未选中复选框时清除它,则:
$('input[type="checkbox"]').click(function() {
$(this).next().attr("name", this.checked ? "report_no[]" : "");
});