Как узнать, какие из них выбрал пользователь? - PullRequest
0 голосов
/ 31 января 2010

У меня есть два списка по моему запросу на JSP. Первый - productGroupName, а второй - products.

Теперь я покажу это, как показано ниже.

<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 идентификатору productGroupID в productGroupName. Но у меня проблема с получением флажка и количества информации. Мне нужно, какой продукт проверен и сколько нужно.

Ответы [ 2 ]

0 голосов
/ 19 марта 2010

Вместо прямой отправки формы отправьте ее через функцию JS. В вашей функции JS, поскольку вы выполняете итерацию своего списка и присваиваете флажку и текстовому полю одно и то же имя, вы получите массив с тем же именем. То есть вы получите массив идентификаторов. Вы можете получить индекс выбранного флажка, получить количество, получить соответствующий элемент списка и заполнить значения отдельных переменных скрытой формы. Затем отправьте его.

Альтернативным подходом было бы иметь скрытую переменную, связанную с каждым флажком, которая обеспечивает некоторое сопоставление между списком и флажком.

0 голосов
/ 31 января 2010

Я не делаю Struts, но в их документации, по крайней мере, сказано, что для этого вам нужен <html:multibox>.

...