2017-12-13 11 views
0

複数のフォームから値を渡そうとしています。"SELECT ALL" Foreachループで取得された値のチェックボックス

参考:Check all/uncheck all in foreach loop

私はすべてのチェックボックスを選択して処理するために、値を送信するために私を可能にSOで非常に便利なポストをチェックアウトしました。

私の値は、このように私は以下のコードを使用していコントローラにSQLクエリから生成されています

   <div class="col" id="one"> 
       <fieldset> 
       <form action="{$link->getLink('controller')|escape:'htmlall':'utf-8'}" method="post"> 
        <p> 
         <input name="ALL" type="checkbox" id="check-all2" value="checkbox" onclick="CheckAll()" /> 
         <label>SELECT ALL</label> 
         <br/><br/> 
         {foreach from=$payment item=row} 
         <input type="checkbox" name="payment[]" maxlength="50" value={$row.id_order} class="payment"> 
         <label> ID: <b>{$row.id_order}</b></label><br/> 
         {/foreach} 
         <br/> 
         <input id="submit" name="submitpayment" type="submit" value="PACK ITEMS" class="button" /> 
        </p> 
        </form> 
       </fieldset> 
      </div> 

のjQuery:

function CheckAll() { 
var elements = document.getElementsByName("payment"); 
var l = elements.length; 

if (document.getElementById("check-all2").checked) { 
    for (var i = 0; i < l; i++) { 
     elements[i].checked = true; 
    } 
} else { 
    for (var i = 0; i < l; i++) { 
     elements[i].checked = false; 
    } 
} 

}

これは残念ながら、私のために現在取り組んでいます私は複数のフォームを作成する方法が不明です。

答えて

1

このお試しください:@devsouravこんにちは、あなたの最後のステップのために..私は選択の複数のdocument.getElementById( "ALL")を作成する必要がないのdocument.getElementByIdによって確認された

function CheckAll(className, elem) { 
 
     var elements = document.getElementsByClassName(className); 
 
     var l = elements.length; 
 

 
     if (elem.checked) { 
 
      for (var i = 0; i < l; i++) { 
 
       elements[i].checked = true; 
 
      } 
 
     } else { 
 
      for (var i = 0; i < l; i++) { 
 
       elements[i].checked = false; 
 
      } 
 
     } 
 
    }
<label>Select all 1</label> 
 
<input type="checkbox" onclick="CheckAll('box1', this)" /> 
 

 
<h2>check boxes</h2> 
 
<input type="checkbox" class="box1" /> 
 
<input type="checkbox" class="box1" /> 
 
<input type="checkbox" class="box1" /> 
 

 
<hr> 
 

 
<label>Select all 2</label> 
 
<input type="checkbox" onclick="CheckAll('box2', this)" /> 
 

 
<h2>check boxes</h2> 
 
<input type="checkbox" class="box2" /> 
 
<input type="checkbox" class="box2" /> 
 
<input type="checkbox" class="box2" />

+0

を。 ( "check-all2")がチェックされていますか?私は今のところ、複数の別々のフォームを持っています。 – Enthu

+0

私はあなたのコードを試しましたが、SELECT ALLをクリックすると値を選択しません。 – Enthu

+0

私は次のように使います:2番目の書式が – devsourav

関連する問題