フォーム内のどのチェックボックスがそれらが存在するdiv要素に基づいて選択されるかを制御するjquery関数があります。varselectedObj=true; // document.ready()にあります
$('#selectAllEntities').click(function (event) {
if (selectedObj == true) {
$('#selectAllEntities').text('Unselect All');
$(':checkbox', '#myentities').each(function () {
this.checked = true;
});
selectedObj = false;
}
else {
$('#selectAllEntities').text('Select All');
$(':checkbox', '#myentities').each(function () {
this.checked = false;
});
selectedObj = true;
}
});
セレクターとdiv要素(#myentities)は、変更される関数内の2つの要素だけです。この関数を再利用できるようにするために、毎回書き直すのではなく、これを除外したいと思います。
私が立ち往生しているのは、セレクターをパラメーターとして渡すことです。stylのcss継承のため、クラスをセレクターとして使用できません
<div id="myentities" class="rm_RoleColumn">
<p>
Select the entities that this role can view</p>
<a id="selectAllEntities" class="am_Button floatLeft">Select All</a>
<hr class="hrNoColor" />
<div>
<asp:Panel ID="pnl_EntityList" runat="server" />
</div>
</div>
パネルはチェックボックスが表示される場所です。私はそれらをサーバー側で生成し、Webコントロールにレンダリングしています。
私はこれをずっと見つめていましたので、この関数をリファクタリングする方法やこれを見る別の方法についての提案は大歓迎です