我有一个动态表格。并且有一个复选框列。我的问题是我想要得到未选中的复选框。
我希望使用数组得到这样的最终结果。
selected = array(
'1' => 1,
'2' => 0, //not checked
'3' => 1,
'4' => 1
)
数组索引对应复选框所属的行。像这样:
<tr>
<td><input type="checkbox" name="t_liquadated[]" value="1" />
</tr>
<tr>
<td><input type="checkbox" name="t_liquadated[]" value="1" />
</tr>
<tr>
<td><input type="checkbox" name="t_liquadated[]" value="1" />
</tr>
<tr>
<td><input type="checkbox" name="t_liquadated[]" value="1" />
</tr>
这是我的真实代码
$('#add-invoice-list').on('click', function(){
set_count++;
var row_html = '<tr id="inv-' + set_count + '">';
row_html += ' <td></td>';
row_html += ' <td><input type="text" name="t_soa_amount[]" class="text-right" /></td>';
row_html += ' <td><select name="t_soa_prepared_by[]" class="officer_dropdown form-control"></select></td>';
row_html += ' <td><input type="text" name="t_soa_date_prepared[]" class="text-center datepicker corner_border" readonly="readonly" /></td>';
row_html += ' <td><input type="text" name="t_invoice_amount[]" class="text-right" /></td>';
row_html += ' <td><select name="t_invoice_prepared_by[]" class="officer_dropdown form-control"></select></td>';
row_html += ' <td><input type="text" name="t_invoice_date_prepared[]" class="text-center datepicker corner_border" readonly="readonly" /></td>';
row_html += ' <td class="text-center"><input type="checkbox" name="t_liquadated[]" value="1" /></td>';
row_html += ' <td class="text-center"><button type="button" class="btn btn-danger btn-sm add_inv" onClick="removeInvoiceRow(' + set_count + ')"><span class="fa fa-trash-o"></span></button></td>';
row_html += '</tr>';
if(initial == 1) {
$('#inv-1').after(row_html);
initial++;
} else {
$('#inv-' + initial).after(row_html);
initial++;
}
var c = $('.officer_dropdown').length;
$('.officer_dropdown').html("<?php echo $options_officer; ?>");
});
我正在使用POST
传递此信息$invoice_list = array(
't_soa_amount' => $this->input->post('t_soa_amount'),
't_soa_prepared_by' => $this->input->post('t_soa_prepared_by'),
't_soa_date_prepared' => $this->input->post('t_soa_date_prepared'),
't_invoice_amount' => $this->input->post('t_invoice_amount'),
't_invoice_prepared_by' => $this->input->post('t_invoice_prepared_by'),
't_invoice_date_prepared' => $this->input->post('t_invoice_date_prepared'),
't_liquadated' => $this->input->post('t_liquadated'),
);
fd($invoice_list);
我希望你能帮助我。感谢。
答案 0 :(得分:0)
没有本地帖子方法。你可以像这样使用
<?php
$arr = array();
for($i = 1; $i<=count($this->input->post('t_liquadated')); $i++) {
$arr[$i] = in_array($i, $this->input->post('t_liquadated')) ? 1 : 0;
}
?>
这里$ arr将同时选中和选中复选框。无论你想要什么,用$ arr