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

Javascript JSP多个复选框无法捕获动态表中的多个行值,javascript,jsp,Javascript,Jsp,我正在根据单击“显示”按钮在地图对象“abc”中获得的值构建一个动态表。现在,下一步是检查一行或多行,并通过从下拉列表中选择新值来更新它们。如何在单击“更新”时在新映射中捕获${map.key}和每行选定的新值?我能够从下拉列表中捕获选中的${map.key},但不能捕获相应的选定新值。任何帮助都将不胜感激。我相信这就够了 <input type="submit" id="Display" name="Display" value="Display" /> <br/>&l

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

我相信这就够了

<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>
其思想是必须使用一些数组来存储每个数组的值 复选框。将名称命名为selectedItems[${rowNumber.index}] 您可以将第一个复选框的值保存在selectedItems[0],第二个复选框 在1等等,您所需要做的就是在bean内部创建一个数组 创建getter和setter

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


谢谢你,迪利普,你的想法帮助了我。我是这样做的。现在,我可以跟踪特定行的下拉列表值,并从中创建映射。

idk关于更新,但您可以添加一个处理程序来获取第二列的值?类似于$val.changefunction{console.log this.parentNode.children[1].name;}我认为“this”指的是这里的节点!但我在找别的东西。我能够在列表中获得选定下拉列表的值,但我不知道哪个值是哪个选定键的值。所以我需要一张地图,我想我能提供你的意思。你能仔细看看我在console.log.中写的东西吗。。?
<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>
<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" varStatus="rowNumber">  
          <tr>
            <td align="center"><input type="checkbox" id="selectedItems" value="${map.key}=${rowNumber.index}" 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="=${rowNumber.index}">Select New Value</option>
                <option value="1=${rowNumber.index}">1</option>
                <option value="2=${rowNumber.index}">2</option>
                <option value="3=${rowNumber.index}">3</option>
            </select>
            </td>
         </tr>
       </c:forEach>
</table>