【问题标题】:Retrieve all checkbox checked in the table when submitting form提交表单时检索表中选中的所有复选框
【发布时间】:2013-01-27 11:11:21
【问题描述】:

我的表单中有一个<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 模板

【问题讨论】:

    标签: javascript checkbox html-table submit


    【解决方案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");
    

    【讨论】:

    • @karthik 你没有提高清晰度,你破坏了代码格式。不懂格式的请勿编辑,谢谢。
    猜你喜欢
    • 2012-05-23
    • 2017-09-19
    • 2018-06-16
    • 2021-09-22
    • 2014-04-04
    • 2021-10-22
    • 2013-08-25
    相关资源
    最近更新 更多