mardi 12 décembre 2017

"SELECT ALL" Checkbox for Values Retrieved by Foreach Loop

I am trying to pass the values from multiple forms.

Reference: Check all/uncheck all in foreach loop

I have checked out a very useful post in SO that enables me to send values to process with a SELECT ALL checkbox.

My values are generated from SQL query in controller thus I am using the codes below:

            <div class="col" id="one">
              <fieldset>
                <form action="{$link->getLink('controller')|escape:'htmlall':'utf-8'}" method="post"> 
                    <p>
                       <input name="ALL" type="checkbox" id="ALL" 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}>
                       <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("ALL").checked) {
    for (var i = 0; i < l; i++) {
        elements[i].checked = true;
    }
} else {
    for (var i = 0; i < l; i++) {
        elements[i].checked = false;
    }
}

}

This is working currently for me, unfortunately I am unsure how to create for multiple forms.




Aucun commentaire:

Enregistrer un commentaire