JSP多个复选框无法捕获动态表中的多个行值

时间:2014-03-14 14:41:19

标签: javascript jsp

<input type="submit" id="Display" name="Display" value="Display" />
<br/><br/>
<input type="submit" id="Update" name="Update" value="Update" /> 
<br/><br/>
<table border=1 width=90% height=30% align=center cellpadding=1 cellspacing=1>
        <tr>
            <th>Select</th>
            <th>Name</th>
    <th>Current Value</th>
            <th>New Value</th>
        </tr>
        <c:forEach items="${abc}" var="map">  
          <tr>
            <td align="center"><input type="checkbox" id="selectedItems" value="${map.key}" name="selectedItems" />
            </td>   
            <td align="center">${map.key}</td>
            <td align="center">${map.value}</td>
            <td align="center">
            <select name="val" id="val" >
                <option value="">Select New Value</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
            </td>
         </tr>
       </c:forEach>
</table>

我正在根据我在地图对象中获得的值构建一个动态表格&#39; abc&#39;点击“显示按钮”。现在,下一步是检查一行或多行,并通过从下拉列表中选择一个新值来更新它们。如何在点击“更新”的新地图中捕获$ {map.key}和每行所选的新值?我能够从下拉列表中捕获已检查的$ {map.key},但不能捕获相应的选定新值。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我相信这会...... !!

<c:forEach items="${abc}" var="map" varStatus="rowNumber">  
          <tr>
            <td align="center"><input type="checkbox" id="selectedItems${rowNumber.index}" value="${map.key}" name="selectedItems[${rowNumber.index}]" />
            </td>   
            <td align="center">${map.key}</td>
            <td align="center">${map.value}</td>
            <td align="center">
            <select name="val" id="val" >
                <option value="">Select New Value</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
            </td>
         </tr>
       </c:forEach>
  

这个想法是你必须使用一些数组来存储每个数值   复选框。将名称命名为selectedItems[${rowNumber.index}]   您可以将checkbox的值保存在selectedItems[0],第2位   你需要做的就是在bean里面创建一个数组   创建getter和setter。

     

varStatus="rowNumber"用于获取当前迭代索引,   就像我在for循环中一样。您可以使用此索引来区分每个索引   行。