我在aspx页面中放置Repeater控件,在Repeater的ItemTemplate里面放置一个tr(tr设有ID属性),然后在tr里面放置一个checkbox(用来控制该行是否被选中),再放置一个select(也有ID),最后从数据库获取数据循环绑定该行;
现在我想要对被选中的checkbox所在的行的select进行操作(设定选定项),而对未被选中的checkbox所在的行的select不操作,即过滤掉未被选中的行或者遍历选中行内的控件,要如何操作?还望有相关经验的朋友指点!
html代码如下:<asp:Repeater ID="rpt" runat="server" onitemdatabound="rpt_ItemDataBound" >
<HeaderTemplate><table><tr><td>单选</td><td>下拉框选择</td></HeaderTemplate>
<ItemTemplate>
 <tr id="<%# Eval("ID")%>" align="center">
<td>              
<input id="chkID" type="checkbox" value='<%# Eval("ID")%>'name="chkID" title="单选" />
</td>
<td>
  <select id="ddl" runat="server" name="ddl">
   <option value="a"></option>
   <option value="b"></option>
   <option value="c"></option>
  </select>
</td>
 </tr>

解决方案 »

  1.   

    给table一个id,这里给的是tb var tb=document.getElementById("tb");
     var rows=tb.rows.length;
     for(var i=0;i<rows;i++){
       var cells=tb.rows[i].cells.length;
       var checkboxs=tb.rows[i].cells[0].getElementsByTagName("input");
       if(checkboxs.length>0){
          if(checkboxs[0].type=="checkbox"&&checkboxs[0].checked){
                var select=tb.rows[i].cells[1].getElementsByTagName("select")[0];//得到select对象
                //做你的操作
                
          }
       }
     }
      

  2.   

    谢谢BeenZ,按照你的方法可以了