【发布时间】:2012-03-18 03:36:09
【问题描述】:
我想实现一个 jQuery 客户端脚本,以便能够通过单击位于 <HeaderTemplate> 中的复选框来检查/取消选中 TreeList 的 <ItemTemplate> 列中的所有复选框。我的 javascript 代码现在不起作用。
<telerik:TreeListTemplateColumn HeaderText="" SortExpression="IsSelected" UniqueName="IsSelected">
<ItemTemplate>
<telerik:RadButton ID="btnSelected" runat="server" AutoPostBack="false" ButtonType="ToggleButton"
ToggleType="CheckBox" OnCheckedChanged="btnSelected_CheckedChanged" >
</telerik:RadButton>
</ItemTemplate>
<HeaderTemplate>
<asp:CheckBox ID="chkSelectAll" runat="server" Text="Select All" onclick="selectAll(this);" />
</HeaderTemplate>
<HeaderStyle HorizontalAlign="Center" Width="35px"/>
<ItemStyle VerticalAlign="Middle" HorizontalAlign="Center" />
</telerik:TreeListTemplateColumn>
Javascript:
<telerik:RadCodeBlock>
<script type="text/javascript">
function SelectAll(CheckBox) {
TotalChkBx = parseInt('<%= this.rtlRshItems.Items.Count %>');
var TargetBaseControl = document.getElementById('<%= this.rtlRshItems.ClientID %>');
var TargetChildControl = "btnSelected";
var Inputs = TargetBaseControl.getElementsByTagName("input");
for (var iCount = 0; iCount < Inputs.length; ++iCount) {
if (Inputs[iCount].type == 'checkbox' && Inputs[iCount].id.indexOf(TargetChildControl, 0) >= 0)
Inputs[iCount].checked = CheckBox.checked;
}
}
</script>
</telerik:RadCodeBlock>
【问题讨论】:
-
当您单击复选框时,您是否在 javascript 控制台上看到任何错误?我会删除
TotalChkBx ...行,因为它并没有真正做任何事情。除此之外,您的代码对我来说似乎是正确的。 -
发布客户端 html 源代码而不是服务器代码,如果您希望此转换
-
看起来问题在于 RadButtons 没有作为实际的 html 输入发出。
标签: javascript jquery asp.net telerik asp.net-3.5