我编写了一个PHP代码:用户向我们的数据库发送一个查询,该表单显示了一组结果,分组在表格中,并带有用于选择数据的复选框。
我想知道如何使用Select / Deselect复选框启用Jquery代码,选择/取消选择每个表的数据,我的意思是每组结果。
例如,类似于此示例http://www.wiseguysonly.com/2010/01/15/select-and-unselect-all-checkboxes-with-jquery/
1:所有复选框都有一个“复选框”类:input type =“checkbox”class =“checkbox”
function toggleChecked(status) {
$(".checkbox").each( function() {
$(this).attr("checked",status);
});
}
你能告诉我修改toggleChecked功能的最佳方法是什么?
调用toggleChecked的第二个参数,用第二个参数值替换“.checkbox”? (我无法找到正确的语法)。
或者有不同的方法可以做到这一点?
而且,BTW,最好使用prop而不是attr? 最好的问候。
答案 0 :(得分:4)
只需在函数中添加第二个参数,然后使用它。
function toggleChecked(status,selector) {
$(selector).each(......);
}
如果你真的在这么简单的事情上苦苦挣扎,你真的不应该使用jQuery了。您应该首先了解普通JavaScript。否则就像去世界上最好的工具去建筑工地,甚至可能完全使用这些工具的知识...但不知道基本建筑是如何工作的,你可能会建造一个没有基础的漂亮建筑那会在一天内崩溃。
答案 1 :(得分:3)
jQuery.is真的有帮助,或者prop(“checked”)将返回一个布尔值(所以无论如何):
var boxes = $(".checkbox");
boxes.prop("checked", !boxes.prop("checked"));
是的,jQuery.prop更好。
答案 2 :(得分:0)
嗯,我知道你已经得到了答案,但是......这是我的版本:
$.fn.changeCheckboxesState = function(state){
if (state === undefined)
state = true;
$(this).filter(':checkbox').each(function() {
$(this).prop('checked', state);
});
return this;
};
$.fn.toggleCheckboxes = function() {
$(this).filter(':checkbox').each(function() {
var $this = $(this);
$this.prop('checked', !$this.prop('checked'))
});
return this;
};
答案 3 :(得分:0)
<script>
$(document).ready(function() {
$('#selecctall').click(function(event) {
if(this.checked) {
$('.checkbox1').each(function() {
this.checked = true;
});
}else{
$('.checkbox1').each(function() {
this.checked = false;
});
}
});
});
</script>
In Cakephp code--
<?php echo $this->Form->input('selecctall',array('id'=>'selecctall','type'=>'checkbox')); ?>
<?php echo $this->Form->input('massaction',array('class'=>'checkbox1','label'=>'','type'=>'checkbox')); ?>