Javascript 如何使用JQuery选中/取消选中表单中的表中的所有元素
嗨,我正在尝试找出一种方法,按钮改变它的值,并且所有的复选框在点击按钮时被选中/取消选中 我也无法理解如何在DOM中解析。 我在JSFIDLE上尝试了一些东西,但无法实现它。有人能帮我吗 这里是链接Javascript 如何使用JQuery选中/取消选中表单中的表中的所有元素,javascript,jquery,dom,Javascript,Jquery,Dom,嗨,我正在尝试找出一种方法,按钮改变它的值,并且所有的复选框在点击按钮时被选中/取消选中 我也无法理解如何在DOM中解析。 我在JSFIDLE上尝试了一些东西,但无法实现它。有人能帮我吗 这里是链接 Here is the jQuery code that I have written > $(document).ready(function(){ > $('.check:button').toggle(function(){ > alert('ins
Here is the jQuery code that I have written
> $(document).ready(function(){
> $('.check:button').toggle(function(){
> alert('inside toggle function');
> $('input:checkbox').attr('checked',true);
> $(this).val('uncheck all')
> },function(){
> $('input:checkbox').removeAttr('checked');
> $(this).val('check all');
> }) })
jQuery的toggle()
功能不久前被弃用并删除,至少是您正在使用的toggle()
版本
您应该监听change
事件,并使用checked
属性使用jQuery的prop()
切换其他复选框的状态
我使用的是()上的,
,这需要比您在you's fiddle中使用的jQuery版本更新的jQuery版本,您应该更新最新版本
编辑:
要使用按钮进行切换,您需要一个标记来跟踪状态,并创建自己的切换
$('#selectAll').on('click', function () {
var flag = !$(this).data('flag');
$('#search_data input[type="checkbox"]').prop('checked', flag);
$(this).data('flag', flag);
});
如果在任何一点上至少有一个未选中的复选框,那么您希望选中全部,否则取消选中全部。当任何单个复选框被更改时,您都希望重新计算
$('#selectAll').on('click', function(){
var numUnChecked = $(':checkbox:not(:checked)','#search_data').length;
$(':checkbox', '#search_data').prop('checked',numUnChecked);
$(this).val( numUnChecked ? 'uncheck all' : 'check all' );
});
$(':checkbox', '#search_data').on('change', function() {
var numUnChecked = $(':checkbox:not(:checked)','#search_data').length;
$('#selectAll').val( numUnChecked ? 'check all' : 'uncheck all' );
});
我想用按钮来做。我已经提供了小提琴的链接。你能告诉我哪里出了问题吗?是的,它起作用了,但每次点击都需要更改按钮的值。不过,我会努力找到答案。非常感谢你的帮助。
$('#selectAll').on('click', function(){
var numUnChecked = $(':checkbox:not(:checked)','#search_data').length;
$(':checkbox', '#search_data').prop('checked',numUnChecked);
$(this).val( numUnChecked ? 'uncheck all' : 'check all' );
});
$(':checkbox', '#search_data').on('change', function() {
var numUnChecked = $(':checkbox:not(:checked)','#search_data').length;
$('#selectAll').val( numUnChecked ? 'check all' : 'uncheck all' );
});