我有 jquery 函数,它根据它们所在的 div 元素控制表单中的哪些复选框被选中。 var selectedObj = 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) 是函数中唯一会改变的两个元素,我真的很想把这个因素考虑出来,这样我就可以重用这个函数,而不是每次都重写它。
我被卡住的地方是将选择器作为参数传递。由于 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 控件。
我一直盯着这个太久了,所以任何关于如何重构这个函数或其他方式来看待这个的建议将不胜感激