动态生成的html的Table中第一列是checkbox,如何判断选择了哪些checkbox,并获得相对应的记录??
js代码:
function get(){
var print = document.getElementsByName("isprint");
for(var i = 0; i < print.length; i++) {
if(print[i].checked) {
var factorId = document.getElementById('factorId').value;
alert(factorId);

}
}<table class="grid">
<tfoot></tfoot>
<tbody>
<tr>
<th width="30px" >序号</th>
<th>标签要素名称</th>            
<th>是否起用</th>     
</tr>
<s:iterator value="%{pageDataFactorDef.datals}" id='vo' status='st'>
<td align="center"><s:property value="#st.count+(pageDataFactorDef.currentPage-1) * (pageDataFactorDef.pageSize)" /></td>
<td>${vo.factorName}</td>
<td>
<input type="checkbox" name="isprint" id="isprint" />
</td>
   <td align="center"> <input id="factorId" value="${vo.factorId}" type="hidden"></input>  //取得隐藏域id值
    </tr>
</s:iterator>       
</tbody>
</table>在js中取得的id永远是table表中的第一条记录,不管你选中几条数据,它都是显示第一条记录数据的id值。

解决方案 »

  1.   

    <input type="checkbox" name="isprint" id="isprint" cmdValue="${vo.factorId}" />
    if(print[i].checked) {
    alert(print[i].getAttribute("cmdValue"));
      

  2.   

    if(print[i].checked) {
       alert(print[i].parentNode.nextSibling.childNodes[0].value);
       
    }  
      

  3.   

    <input type="checkbox" name="isprint" id="isprint" />
    改成
    <input type="checkbox" name="isprint<%# Container.ItemIndex+1 %>" id="isprint<%# Container.ItemIndex+1 %>" /><tbody>中加个IDJS搜<tbody> 的行数
    var rowCount = document.all.tbodyDetail.children.length - 1;
    for (var i = 1; i <= rowCount; i++) {
    var checkbox= form1["checkbox" + i].value.trim();
    }
    然后你遍历这个rowCount
    你就可以拿到checkbox的id了