我在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>
现在我想要对被选中的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>
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对象
//做你的操作
}
}
}