读书人

reapter 嵌套 reapter js CheckBoxLis

发布时间: 2013-01-07 10:02:25 作者: rapoo

reapter 嵌套 reapter js CheckBoxList 全选
reapter 嵌套 reapter,在每一层的reapter中能全选和反选当前层的reapter中的CheckBoxList ,在线等高手求解!最好能用JS
前台代码:

<asp:Repeater ID="rpList" runat="server">
<ItemTemplate>
<table width="100%" border="0" cellspacing="1" class="hdr" cellpadding="3" style="border:1px #ccc solid; margin-bottom:5px;">
<tr>
<th>
<input type="checkbox" name="chk_Sel" id="chk_Sel" value='<%# Eval("id") %>'/><%# Eval("e_gname")%>
<asp:HiddenField ID="hfParentId" runat="server" Value='<%# Eval("id") %>'/>
</th>
</tr>
<tr>
<td style="padding-left:25px; font-size:12px;">
<asp:CheckBoxList ID="cbleuser" runat="server" RepeatDirection="Horizontal">
</asp:CheckBoxList>


</td>
</tr>
<tr>
<td>
<asp:Repeater ID="rpParentList" runat="server">
<ItemTemplate>
<table width="100%" border="0" cellspacing="1" class="hdr" cellpadding="3" style="border:1px #ccc solid;">

<tr>
<th style="font-size:11px; font-weight:normal;">

<%# Eval("e_gname")%>
<asp:HiddenField ID="hfpgId" runat="server" Value='<%# Eval("id") %>'/>


</th>

</tr>
<tr>
<td style="padding-left:25px; font-size:12px;">
<asp:CheckBoxList ID="cblParenteuser" runat="server" RepeatDirection="Horizontal">
</asp:CheckBoxList>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>


</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>


[解决办法]
这个是全部代码了
全部选择:<asp:CheckBox ID="CheckBox1" runat="server" onclick='checkAll(this.checked);'
Text="全选所有城市" ForeColor="Red" /><br />
<asp:DataGrid ID="DG_Group" runat="server" CellPadding="0" ShowHeader="False" AutoGenerateColumns="False"
GridLines="None" CellSpacing="0" OnItemDataBound="DG_Group_ItemDataBound">
<Columns>
<asp:TemplateColumn ItemStyle-Font-Bold="True">
<ItemTemplate>
<input type='checkbox' onclick='selectAll(this);' />全选
<%# Eval("x_name")%>
<div


ShowFooter="False" ShowHeader="False" DataKeyField="x_id">
<ItemTemplate>
<div class="kb22">
<asp:CheckBox ID="CheckBoxx" runat="server" Text='<%# Eval("x_name")%>' />
</div>
</ItemTemplate>
</asp:DataList>
</div>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn Visible="False" HeaderText="Group_ID">
<ItemTemplate>
<asp:Label ID="Lb2" runat="server" Text='<%# Eval("x_id") %>'>


</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Visible="False" HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
[解决办法]


$(function () {
$("#cbxAll").click(function () {//全选的checkbox单击事件
var flag = $(this).attr("checked");
$(".subBox :checkbox:enabled").each(function () {
$(this).attr("checked", flag);
});

$("#hdnIds").val(GetSelectedCustomer());//把所有得到的目标选中的checkbox的text属性值集合付给隐藏的控件
});

//下面是处理:当有一个子checkbox不是选中时,全选的checkbox选中状态取消,同时更新子集集合
var $subcheck = $(".subBox :checkbox:enabled");
var $check = $("#cbxAll");
$subcheck.click(function () {
var flag = true;
$subcheck.each(function () {
if (!this.checked) {
flag = false;
}
});


$check.attr("checked", flag);

$("#hdnIds").val(GetSelectedCustomer());
});

});
function GetSelectedCustomer() {
var item = $(".subBox :checkbox:checked").map(function () {
return $(this).parent().attr("text");
}).get().join(",");
return item;
}

读书人网 >asp.net

热点推荐