2016-05-22 40 views
1

ビューに同じ名前のチェックボックスが4つあり、その名前のlaravel(PHP)コントローラの値を取得すると、アレイ。しかし、私はチェックされているチェックボックスの値だけを取得しています。チェックされていないチェックボックスの代わりにゼロまたはヌルになっていなくてもです。Laravel(PHP)でチェックボックスのチェックボックスの値を取得する方法

<div id="action1" name="action1[]"> 
          <input type="checkbox" name="checkAction1[]" > 
          <select id="a1" class="form-control actionSelect" name="action1[]" > 
           <option value="" selected="selected">Action Name</option> 
          </select> 
          <select class="form-control catSelect" name="cat1[]"> 
           <option value="" selected="selected">Category Type</option> 
          </select> 

         </div> 
         <div id="action2" name="action1[]"> 
          <input type="checkbox" name="checkAction1[]" > 
          <select class="form-control actionSelect" name="action1[]" > 
           <option value="" selected="selected">Action Name</option> 
          </select> 
          <select class="form-control catSelect" name="cat1[]"> 
           <option value="" selected="selected">Category Type</option> 
          </select> 

         </div> 
         <div id="action3" name="action1[]"> 
          <input type="checkbox" name="checkAction1[]" > 
          <select class="form-control actionSelect" name="action1[]" > 
           <option value="" selected="selected">Action Name</option> 
          </select> 
          <select class="form-control catSelect" name="cat1[]"> 
           <option value="" selected="selected">Category Type</option> 
          </select> 

         </div> 
         <div id="action4" name="action1[]"> 
          <input type="checkbox" name="checkAction1[]" > 
          <select class="form-control actionSelect" name="action1[]" > 
           <option value="" selected="selected">Action Name</option> 
          </select> 
          <select class="form-control catSelect" name="cat1[]"> 
           <option value="" selected="selected">Category Type</option> 
          </select> 

         </div> 

コントローラー:

$checkboxArray=$request['checkAction1']; 

そののみ確認のチェックボックスを与えます。

これについて助けてもらえますか?ありがとうございました。

+0

をチェックされていない値が必要です。いくつかのコードを示します。 –

+0

[チェックされていないチェックボックスがヌル値を返す]の重複している可能性があります(http://stackoverflow.com/questions/14067215/unchecked-checkbox-returning-null-value) –

+0

チェックボックスの名前にキーを含めると、チェックされていないエントリを取得しますが、**が**設定されているエントリは正しいインデックスを持ちます。たとえば、 '' "checkAction1 [2]"> "などです。 –

答えて

-2

hidden入力で正しい例があるチェックボックス

<input type="checkbox" name="checkAction1[]" value="Yes" > <input type="hidden" name="checkAction1[]" value="No" >

+0

チェックボックスは配列として送信されます。もちろん、$ checkboxArrayは、最初と4番目のボックスにチェックを入れると、 '[" "Yes"、 "No"、 "No"、 "Yes"、 "No"] 'のようになります。 ? –

+0

残念ながら、チェックボックスの後ろに隠しを置くと、配列に '' No "'が表示されます。 –

-1

ための隠し入力を追加します:あなたは、コントローラで

<input type="hidden" name="checkAction1[]" value="0" > 
<input type="checkbox" name="checkAction1[]" value="1" > 
+0

フィールドが配列であるため、不確定な数のエントリが存在するため、同じ問題がまだ発生しません。チェックボックスがチェックされていない場合は1つの '0'がチェックされている場合は' 0'と '1'ですか?この構文は、 '[]'のないフィールドに対してのみ有効です。 –

+0

働いていて、ありがとうございました – Narendra

+0

これが解決すれば、それをマークすることができます。 –

0

要求を変更

if (!$request->has('field')) { 
    $request->merge(['field' => 0]); 
} 
関連する問題