我有一个jQuery数据表,其中有13000个带复选框选项的用户记录。
根据要求,我可以通过选择针对特定用户的复选框选项从中选择任意3个用户。
当我达到限制时,即所有其他复选框选项应该被禁用。
但目前,它仅适用于该特定页面。当我从第1页选择3个用户时,所有其他复选框选项都被禁用,但是当我移动到第二页时,所有选项都可用于选择用户。意思是,它正常工作,但按照页面明智。
我不想要这个,它应该在我达到限制时工作,即3所有其他复选框选项应该在所有页面上禁用。
jQuery代码:其中checkb是所有复选框的类名。另外,我附上了图片以获取更多信息。
if($('input.checkb').filter(':checked').length == 3)
$('input.checkb:not(:checked)').attr('disabled', 'disabled');
else
$('input.checkb').removeAttr('disabled');
答案 0 :(得分:0)
使用 JQuery 1.6 + ,您应该使用.prop()函数。
div
更新:假设您的数据表对象为#first
,您可以像这样使用
if($('input.checkb').filter(':checked').length == 3)
$('input.checkb:not(:checked)').prop('disabled', true);
else
$('input.checkb').prop('disabled', false);
答案 1 :(得分:0)
这样做的一个选择是, 您可以向服务器发送ajax请求以在服务器中设置会话变量, 当每次用户选中复选框时,这些请求应调用以增加会话变量。当计数变为3时,您可以使用所有页面进行检查以禁用或启用列表中的复选框。
另一个选项是在该页面的隐藏框中设置复选框选中计数,并将整个分页设置为ajax。因此,您可以使用javascript检查每个页面中隐藏的盒子数,以启用和禁用复选框。