HTML复选框传递所选的所有值

时间:2015-12-02 07:33:32

标签: javascript html django

我有一个将值传递给django视图的表单 在表单中有一个带有复选框的动态生成的表。

HTML:

<table class="table table-striped">
    <thead>
        <tr>
            <th><input type="checkbox" onClick="toggle(this, 'no')"></th>
            <th>Order Id</th>
            <th>Channel</th>
            <th>Dispatch By Date</th>
            <th>Amount</th>
            <th>Status</th>
            <th>Products</th>
        </tr>
    </thead>
    <tbody>
        {% for oid,oiid,dbd,stts,tp,sku,qty,chnl in new_orders %}
        <tr>
            <td><input type="checkbox" name="no" value="{{oid}}"></td>
            <td>
                <div><a class="btn-link" href="#">{{oid}}</a></div>
                <div><input name="oiid" style="display:none" value="{{oiid}}">{{oiid}}</div>
            </td>
            <td>{{chnl}}<input name="channel" style="display:none" value="{{chnl}}"></td>
            <td><span class="text-muted"><i class="fa fa-clock-o"></i>&nbsp;&nbsp;&nbsp;{{dbd}}</span></td>
            <td>{{tp}}</td>
            <td>{{stts}}</td>
            <td>
                <div>{{sku}}</div>
                <div>Quantity: {{qty}}</div>
            </td>
        </tr>
        {% endfor %}
    </tbody>
</table>

我将3个值传回我的视野。 oid, oiid, chnl。 问题是如果我选择一些元素而不是所有元素,则为这些元素传递所有oid的值,但传递所有值的oiidchnl

我的Javascript:

function toggle(source, text) {
        checkboxes = document.getElementsByName(text);
        for(var i=0, n=checkboxes.length;i<n;i++) {
            checkboxes[i].checked = source.checked;
            }
        }

如何仅传递为所有三个变量选择的值?

1 个答案:

答案 0 :(得分:1)

您必须使用type="checkbox"name="YOURCHECKBOXNAME[]"输入所有输入。

YOURCHECKBOXNAME应该是一样的。

当您将[]放入HTML输入时,表单将向PHP发送一个数组。