2010-01-31 4 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> 

나는 제품 ID가 productGroupName에서 productGroupID 동일한 경우 보여 productGroupNames을 반복. 하지만 체크 박스와 수량 정보를 얻는 데 문제가 있습니다. 나는 어떤 제품이 검사되고 얼마나 많은 제품이 필요한지를 필요로한다.

답변

0

양식을 직접 제출하는 대신 JS 함수를 통해 제출하십시오. JS 함수에서 목록을 반복하고 확인란과 텍스트 필드에 같은 이름을 지정하면 동일한 이름의 배열이 생성됩니다. ID 배열을 얻을 수 있습니다. 선택한 체크 상자의 인덱스를 가져 와서 수량을 얻고 해당 목록 요소를 가져 와서 값과 함께 별도의 숨겨진 폼 변수를 채울 수 있습니다. 그런 다음 제출하십시오.

다른 방법은 목록과 확인란 사이에 매핑을 제공하는 각 확인란과 연결된 숨겨진 변수를 사용하는 것입니다.

0

Struts를 쓰지는 않지만, 최소한 설명서에는 <html:multibox>이 필요하다고 나와 있습니다.

관련 문제