2016-06-17 1 views
0

동적 테이블 형식입니다. 체크 박스 열이 있습니다. 내 문제는 체크되지 않은 체크 박스를 얻고 싶다.PHP에서 POST를 사용하여 선택하지 않은 체크 박스를 검색하는 방법은 무엇입니까?

배열과 같은 결과를 얻길 원합니다.

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); 

를 사용하여이 통과하고있다. 감사.

+2

당신은 위선적으로 아무 것도 보내지 않았다. –

+0

아마도 checbox를 선택 옵션으로 바꿀 필요가 있을까? 감사합니다 – Jerielle

+4

PHP는 그것을 기대하는 경우 잘 알고, 그 부재는 지적하실 수 있습니다. –

답변

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로 무엇을 하든지간에

관련 문제