Tam*_*eyc 5 html forms checkbox jquery
我想有一个应用程序,用户将为任意个人输入数据.每个人最多可以选择六个选项中的三个.我想知道如何在任何个人身上使用jquery强制最多三个选项.
这是一个示例代码
<div id="subscriber_1">
<input type=checkbox name=national>
<input type=checkbox name=international>
<input type=checkbox name=business>
<input type=checkbox name=entertainment>
<input type=checkbox name=religion>
<input type=checkbox name=sports>
</div>
Run Code Online (Sandbox Code Playgroud)
订户最多可以运行20个,例如subscriber_1,subscriber_2,... subscriber_20.我将非常感谢你的帮助.
kap*_*apa 11
您应该向订阅者div添加一个类,以便更容易附加事件处理程序:
<div id="subscriber_1" class="subscriber">...</div>
<div id="subscriber_2" class="subscriber">...</div>
Run Code Online (Sandbox Code Playgroud)
并使用此jQuery:
$('.subscriber :checkbox').change(function () {
var $cs = $(this).closest('.subscriber').find(':checkbox:checked');
if ($cs.length > 3) {
this.checked = false;
}
});
Run Code Online (Sandbox Code Playgroud)
说明:在这些复选框的更改事件中,我们查找具有该类的最近父级.subscriber.我们在这个div中得到了选中的复选框.如果有超过3个(当前已检查的那个也计数),我们取消选中当前的一个.
如果您当然不想添加类,则可以使用此选择器:
$('[id^="subscriber_"] :checkbox')...
Run Code Online (Sandbox Code Playgroud)
这称为属性启动选择器.