でチェックボックス:私は、標準のDataGridを持っているマスターページ内データグリッドヘッダのClientID(jQueryの)
<asp:DataGrid ID="dgMyGrid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox CssClass="Checker" ID="cbSelectAll" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbSelect" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
は、ヘッダのチェックボックスがすべてを選択させること、次のjQueryを持っている:
$(document).ready(function() {
$("#ctl00_ContentPlaceHolder1_dgMyGrid_ctl01_cbSelectAll").click(function() {
$("#<%=dgID %> :checkbox").each(function(i)
{
this.checked = $("#ctl00_ContentPlaceHolder1_dgMyGrid_ctl01_cbSelectAll").is(":checked")
});
});
});
これは動作しますが、それは少し醜いです - ヘッダチェックボックスのクライアントIDを
<%= cbSelectAll.ClientID%>(私はデータグリッドのために行ったように)取得できません。おそらく、そのコントロールの前にjavascriptがレンダリングされているからです。私のチェックボックスのclientIDをDataGridから取得するためのよりエレガントな方法はありますか?私はこのようにclientIDをハードコードしなかった方が良いだろうと思う。
これに対する答えが明らかな場合は、謝罪してください、私の最初の日はjQueryです! :)
ありがとう、これは私が使い終わった解決策です。つまり、jQuery Aloneでこれを解決することが大好きですが、それ以上の応答がない場合はこれを答えとしてマークします。 – RYFN