提交表单时,检索表格中选中的所有复选框

时间:2013-02-12 07:32:29

标签: javascript checkbox html-table submit

我的表单中有一个<table>,其中包含从数据库中检索到的一些行,每行都放了一个复选框,

checkbox标签的名称是行记录的id

,值根据复选框1的状态而变化:选中,0:未选中

我想在用户提交表单时发送选定的行ID: 我不知道如何实现这一目标:

 <table border=1 id="mondiv" class="hidden" >
            <th></th>
            <th>Numero</th>
            <th>Nom</th>
            <th>Prenom</th>
            <th>Spécialité</th>
{% for item in users %}
            <tr>
                <td><input type="checkbox" name="{{ item.id }}" onchange="changeetat(this)" /></td>
                <td>{{ item.id }}</td>
                <td>{{ item.name }}</td>
                <td>{{ item.lastname }}</td>
                <td>{{ item.specialty }}</td>
            </tr>
{% else %}
            <h2>Aucun organisateur trouvé</h2>
 {% endfor %}
        </table>

这是Javascript方法:

    function changeetat(element){
    if(element.checked){
       element.value = '1';
   }
   else{
       element.value = '0';
   }

}

我在Symfony中使用twig模板

1 个答案:

答案 0 :(得分:1)

如果你不使用jQuery而不是:

var inputs = document.getElementsByTagName("input"); //or
document.forms[0].elements;  
var cbs = []; //will contain all checkboxes  
var checked = []; //will contain all checked checkboxes  
for (var i = 0; i < inputs.length; i++) {  
    if (inputs[i].type == "checkbox") {  
        cbs.push(inputs[i]);  
        if (inputs[i].checked) {  
            checked.push(inputs[i]);  
        }  
    }  
}  
var nbCbs = cbs.length; //number of checkboxes  
var nbChecked = checked.length; //number of checked checkboxes  

使用jQuery:

var cbs = $("input:checkbox:checked");