這個問題類似於this question選擇在asp.net CheckBoxList的所有項目,位最大的區別是,CheckBoxList
是一個Telerk的RadGrid
的FormTemplate
。在Telerik的radgrid控件的FormTemplate
我試過這個方法,但他們不工作:
Check/Uncheck all Items in an ASP.NET CheckBox List using jQuery
Java Script for checkbox list in grid's editformsettings
這裏是我的代碼:
<telerik:RadGrid ID="RadGrid1" runat="server" ... >
...
<MasterTableView ...>
...
<EditFormSettings EditFormType="Template">
<EditColumn UniqueName="EditCommandColumn1"></EditColumn>
<FormTemplate>
<table class="edit-table-rad" cellspacing="2" cellpadding="1" width="100%" border="0">
...
<tr>
<td align="left" width="200px">
<b>Languages:</b><br />
<asp:CheckBox ID="chbSelectAllLanguage" runat="server"
Text="Select All"
ClientIDMode="Static"/>
</td>
<td>
<asp:CheckBoxList ID="cblLanguage" runat="server"
DataSourceID="entityDataSourceLanguage"
DataTextField="LanguageName"
DataValueField="LanguageID"
RepeatColumns="4">
</asp:CheckBoxList>
</td>
</tr>
...
</table>
</FormTemplate>
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>
以上使用jQuery的例子,以獲得CheckBox
並添加一個click
函數。但我無法獲得CheckBox
。我試圖通過ID和cssclass來獲取它,但我認爲RadGrid的FormTemplate
中的CheckBox
不在document.ready
時間的DOM中。
有沒有辦法通過選擇/取消選擇單個CheckBox
選擇/取消選擇所有CheckBoxList
項目?
編輯點評
前後我打開編輯表單我找不到FormTemplate
的HTML。當窗體打開時,HTML是這樣的:
<tr>
<td width="200px" align="left">
<b>Languages:</b>
<br>
<span class="chbSelectAllLanguage">
<input id="chbSelectAllLanguage" type="checkbox" name="ctl00$MainContent$rgSurvey$ctl00$ctl02$ctl04$chbSelectAllLanguage">
<label for="chbSelectAllLanguage">Select All</label>
</span>
</td>
<td>
<table id="ctl00_MainContent_rgSurvey_ctl00_ctl02_ctl04_cblLanguage" class="kipCheckBoxList">
<tbody>
<tr>
//the CheckBoxList generated data, like this:
<td>
<input id="ctl00_MainContent_rgSurvey_ctl00_ctl02_ctl04_cblLanguage_0" type="checkbox" value="1" name="ctl00$MainContent$rgSurvey$ctl00$ctl02$ctl04$cblLanguage$0">
<label for="ctl00_MainContent_rgSurvey_ctl00_ctl02_ctl04_cblLanguage_0">English</label>
</td>
...
</tr>
...
</tbody>
</table>
</td>
上面產生的代碼肯定會在文檔加載時準備就緒,所以這不是問題。您可以發佈這個HTML生成,因爲它更容易看到什麼jQuery代碼將需要。 –