我想實現一個jQuery客戶端腳本,以便能夠通過單擊位於TreeList的<ItemTemplate>
列中的複選框來檢查/取消選中位於樹列表的<ItemTemplate>
列中的所有複選框。我擁有的JavaScript代碼現在不能正常工作。複選框在HeaderTemplate中選擇ItemTemplate中的所有複選框
<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 ...'這一行,因爲它沒有真正做任何事情。除此之外,你的代碼對我來說似乎是正確的。 – Icarus 2012-02-28 16:38:29
張貼客戶端的HTML源碼不是服務器代碼,如果你想這個轉換 – charlietfl 2012-02-28 16:44:39
它看起來像問題是RadButtons不是作爲實際的html輸入發射。 – kevev22 2012-02-28 17:12:53