我有一个包含列的asp.net radgrid:
<telerik:GridTemplateColumn UniqueName="RenewsContainer" HeaderText="Renews" HeaderStyle-Width="60px" ItemStyle-Width="60px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:CheckBox ID="chkRenewsView" runat="server" Checked='<%#Eval("Renews")%>' onclick="checkboxChange(this);" />
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="chkRenews" runat="server" Checked='<%# Bind("Renews") %>' />
</EditItemTemplate>
</telerik:GridTemplateColumn>
注意onclick="checkboxChange(this)
。这工作正常,但在checkBoxChange()函数内部,我需要访问兄弟GridCheckBoxColumn检查状态的复选框状态(已选中/未选中)。我不知道如何获取已检查行的行索引(或rowid),即使获得该行,我也不知道如何获取该GridCheckBoxColumn的检查状态(uniquename:“Locked”)。
似乎可能有两种方法,至少:
然后一旦获得rowid / rowidx,如何获得兄弟姐妹检查状态?
有什么想法吗?
答案 0 :(得分:0)
难道你不能给你的复选框一个独特的CssClass,然后使用jQuery从DOM中选择它吗? RadGrid是一个程序化的包装器,但如果你检查渲染的HTML,它就像其他任何东西一样只是一个DIV / Table。
<ItemTemplate>
<asp:CheckBox ID="chkRenewsView" runat="server" CssClass="MyCheckBox" Checked='<%#Eval("Renews")%>' onclick="checkboxChange(this);" />
</ItemTemplate>
//jQuery
var isChecked = $(".MyCheckBox").is(':checked');