2017-12-15 20 views
2

おはよう、Codeigniterでjavascript multifieldを使用した動的選択ボックス

私はすべての動的選択ボックスを取得しようとしていましたが、常に最初の色を返しています。

たとえば、私は1つのデフォルトのカラーセットを持っていますが、Add Moreをクリックすると別のカラーセットが追加されますが、コントローラに投稿すると常に最初のカラーが返され、これはサンプル画像ですset of color

誰かがこれについて私を助けることができますか?私は今、4日間のためにつかまれてきました。

は、ここに私のビューのコードです:

<div class="form-content"> 
    <div class="row"> 
     <div class="col-md-12"> 
      <p><button type="button" id="btnAdd" class="btn btn-primary">Add Color</button></p> 
      <br/> 
     </div> 
    </div> 
    <div class="row group"> 
     <div class="col-md-5"> 
      <div class="form-group"> 
       <label></label> 
       <select name="color1[]" id="color1" class="form-control" > 
       <option value="" > Color 1</option> 

       <?php foreach($colors as $color): ?> 
       <option value="<?php echo $color['colorID']; ?>"> 
        <?php echo $color['colorDesc']; ?> 
        </option> 
       <?php endforeach; ?> 
       </select> 
      </div> 
     </div> 
     <div class="col-md-5"> 
      <div class="form-group"> 
       <label></label> 
       <select name="color2[]" id="color2" class="form-control" > 
       <option value="" > Color 2</option> 

       <?php foreach($colors as $color): ?> 
       <option value="<?php echo $color['colorID']; ?>"> 
        <?php echo $color['colorDesc']; ?> 
        </option> 
       <?php endforeach; ?> 
       </select> 
      </div> 
     </div> 
     <div class="col-md-2"> 
      <div class="form-group"> 
       <button type="button" class="btn btn-danger btnRemove">X</button> 
      </div> 
     </div> 
    </div> 
</div> 

そして、ここでスクリプトが

<script type="text/javascript"> 
    $(".form-content").multifield({ 
     section: ".group", 
     btnAdd:"#btnAdd", 
     btnRemove:".btnRemove", 
    }); 
</script> 

だと、ここは私のコントローラが

$color1 = $this->input->post('color1'); 
$color2 = $this->input->post('color2'); 

for($i = 0; $i < count($color1); ++$i) { 
    echo $make = $color1[$i]; 

} 

私はわずかにCodeIgniterの初心者を使用し始めました。これを解決するために私を助けてください。前もって感謝します。

+0

はあなたのポストなどを印刷することができますエコー '

'; print_r($POST); echo '
';出口;ここに投稿してください。 – TigerTiger

答えて

0

(私がテストしていない)、これを試してみてください:

HTML:コントローラで

<div class="form-content"> 
    <div class="row"> 
     <div class="col-md-12"> 
      <p> 
       <button type="button" id="btnAdd" class="btn btn-primary">Add Color</button> 
      </p> 
      <br/> 
     </div> 
    </div> 
    <?php $count=0 ; if($this->input->post('color1')) $count = count($this->input->post('color1')); for($i=0;$i<$count,$i++):?> 
     <div class="row group"> 
      <div class="col-md-5"> 
       <div class="form-group"> 
        <label></label> 
        <select name="color1[<?php echo $i;?>]" id="color1" class="form-control" <?php set_select('color1['.$i. ']',$color[ 'colorID']);?>> 
         <option value=""> Color 1</option> 
         <?php foreach($colors as $color): ?> 
         <option value="<?php echo $color['colorID']; ?>"> 
          <?php echo $color[ 'colorDesc']; ?> 
         </option> 
         <?php endforeach; ?> 
        </select> 
       </div> 
      </div> 
      <div class="col-md-5"> 
       <div class="form-group"> 
        <label></label> 
        <select name="color2[<?php echo $i;?>]" id="color2" class="form-control"> 
         <option value=""> Color 2</option> 
         <?php foreach($colors as $color): ?> 
         <option value="<?php echo $color['colorID']; ?>" <?php set_select('color2['.$i. ']',$color[ 'colorID']);?>> 
          <?php echo $color[ 'colorDesc']; ?> 
         </option> 
         <?php endforeach; ?> 
        </select> 
       </div> 
      </div> 
      <div class="col-md-2"> 
       <div class="form-group"> 
        <button type="button" class="btn btn-danger btnRemove">X</button> 
       </div> 
      </div> 
     </div> 
     <?php endfor;?> 
</div> 

(あなたも検証を追加することができます):

... 
if($this->input->post('color1')) { 
    $result = array(); 
    $count = count($this->input->post('color1')); 
    for($i=0;$i<$count;$i++) { 
     if($this->input->post('color1['.$i.']') && $this->input->post('color2['.$i.']')) { 
      $result[$i] = ['color1'=>$this->input->post('color1['.$i.']'),'color2'=>$this->input->post('color2['.$i.']')]; 
     } 
    } 
    print_r($result); 
} 
... 
+0

まだ動作していません:( –

関連する問題