2010-01-31 66 views
0

我在jsp上有兩個我的請求列表。第一個是productGroupName,第二個是產品。如何識別用戶選擇哪些?

現在,我展示如下。

<html:form action="/priceOrder"> <table width="100%" id="tableStyle" style="font: message-box;padding: 20px;"> 
     <logic:iterate id="productGroups" name="productGroup"> 
     <tr> 
      <td> 
      <h3 style="background-color: #720D00; color: white;"><bean:write 
       name="productGroups" property="prodGroupName" /></h3> 
      <table width="100%" id="tableStyle" style="font: message-box; color: white; padding: 20px; background: #F15A00;"> 
       <tr> 
        <td width="200px"><strong>Product Name</strong></td> 
        <td width="100px"><strong>How Many</strong></td> 
        <td><strong>Info</strong></td> 
       </tr> 
       <logic:iterate id="product" name="products"> 
       <tr> 
        <c:if test="${(productGroups.prodGroupID) == (product.prodGroupID)}"> 
         <td> 
          <html:checkbox property="productChecked" ><bean:write name="product" property="prodName"/></html:checkbox>         <br /> 
         </td> 
         <td><html:text property="quantity" styleId="check" size="5"/></td> 
         <td><bean:write name="product" property="prodDesc" /></td> 
        </c:if> 
       </tr> 
       </logic:iterate> 
      </table> 
      </td> 
     </tr> 
    </logic:iterate> 

     <tr align="center" style="background-color: #F15A00;"><td height="50px"> 
       <html:submit styleId="buton" property="method"><bean:message key="button.order" /></html:submit> 
     </td></tr> 
     <tr><td></td></tr> 
    </table></html:form> 

正如您先看到的,我重複了productGroupNames,顯示productID是否等於productGroupName下的productGroupID。但我在獲取複選框和數量信息時遇到問題。我需要檢查哪個產品以及需要多少產品。

回答

0

而不是直接提交表單,通過JS函數提交。在你的JS函數中,由於你正在迭代你的列表,並給複選框和文本字段賦予相同的名字,你會得到一個同名的數組。 這就是你會得到一個ID數組。您可以獲取所選複選框的索引,獲取數量,獲取相應的列表元素並使用該值分別填充單獨的隱藏表單變量。然後提交它。

另一種方法是將隱藏變量與每個複選框相關聯,該複選框在列表和複選框之間提供一些映射。