Javascript 在嵌套的listview中使用复选框。父复选框使用JQuery选择所有子复选框
我在父元素和子元素中有一个带有复选框的嵌套listview。我想写一个jquery,在选中父复选框时选中所有子复选框,并且在单独选中所有子复选框时,应该选中父复选框。我无法使用JQuery找到子元素名称。它给我最后绑定的列表的elementId。 以下是代码片段:Javascript 在嵌套的listview中使用复选框。父复选框使用JQuery选择所有子复选框,javascript,jquery,listview,checkbox,Javascript,Jquery,Listview,Checkbox,我在父元素和子元素中有一个带有复选框的嵌套listview。我想写一个jquery,在选中父复选框时选中所有子复选框,并且在单独选中所有子复选框时,应该选中父复选框。我无法使用JQuery找到子元素名称。它给我最后绑定的列表的elementId。 以下是代码片段: <div id="div1"> <asp:UpdatePanel runat="server" ID="upQuestionGroup"> <ContentTemplate>
<div id="div1">
<asp:UpdatePanel runat="server" ID="upQuestionGroup">
<ContentTemplate>
<asp:ListView ID="lvGroup" runat="server" DataKeyNames="ID">
<LayoutTemplate>
<table ID="tableGroupList">
<tr>
<th>Choose Questions</th>
</tr>
<tr runat="server" id="itemPlaceholder"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id="QuestionGroupName">
<asp:Label runat="server" ID="lblGroupId" Text='<%#Eval("ID") %>' Visible="false"></asp:Label>
<td>
<asp:Label runat="server" ID="lblQuestionGroup" Text='<%#Eval("Name")%>' />
</td>
<td>
<asp:CheckBox runat="server" ID="chkCrcAuditGroup" onclick="javascript:ChkAllItems(this);" />
</td>
</tr>
<tr id="tableQuestion">
<td>
<div id="QuestionList">
<asp:UpdatePanel runat="server" ID="upQuestionList">
<ContentTemplate>
<asp:ListView ID="lvQuestionList" runat="server" DataKeyNames="ID">
<LayoutTemplate>
<table ID="tableQuestionList">
<tr runat="server" id="itemPlaceholder"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label runat="server" ID="lblQuestion" Text='<%#eval("question")%>'></asp:Label>
</td>
<td>
<input runat="server" id="chkSelectQuestion" type="checkbox" value='<%#Eval("ID")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
试试这个代码
JavaScript
函数ChkAllItems{
var grdControl=document.getElementById'lvQuestionList';
var grdinput=grdControl.getElementsByTagNameinput;
var ChkAll=document.getElementById;
对于变量i=0;i$('.yourClass').click(function(){
$('input[type=checkbox]').click(function () {
// children checkboxes depend on current checkbox
$(this).next().find('input[type=checkbox]').prop('checked',this.checked);
// go up the hierarchy - and check/uncheck depending on number of children checked/unchecked
$(this).parents('ul').prev('input[type=checkbox]').prop('checked',function(){
return $(this).next().find(':checked').length;
})
});
});