2015-12-02 109 views
1

我有一個表單將值傳遞給django視圖。
在表格中有一個帶有複選框的動態生成表格。HTML複選框傳遞所有選定的內容值

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; 
      } 
     } 

如何通過只有被選擇的全部三個變量的值?

+0

所以...我的回答對你有幫助嗎? – SatanicGeek

回答

1

您必須輸入您的所有輸入與type="checkbox"name="YOURCHECKBOXNAME[]"

YOURCHECKBOXNAME應該是相同的。

當您將[]放入HTML輸入中時,表單將向PHP發送一個數組。

+0

對不起,我做了一些工作..應該如何傳遞值:​​​​

+0

是的。使用POST發送表單時,您將收到一個數組。 – SatanicGeek

+0

如果您需要更多示例或幫助,請告訴我。但請記住,我的英語說得不好。我是法國學生,所以... :) – SatanicGeek