I am not expert with jQuery but I have tried to create a little script for my application. I want to check all checkboxes but it isn't working correctly.

一开始我试着用attr,之后我试着用prop,但是我做错了什么.

I tried this first:

$("#checkAll").change(function(){

  if (! $('input:checkbox').is('checked')) {
      $('input:checkbox').attr('checked','checked');
  } else {
      $('input:checkbox').removeAttr('checked');
  }       
});

But this didn't work.

下一步:这比上面的代码工作得更好

$("#checkAll").change(function(){

  if (! $('input:checkbox').is('checked')) {
      $('input:checkbox').prop('checked',true);
  } else {
      $('input:checkbox').prop('checked', false);
  }       
});

这两个例子都不管用.

JSFiddle:http://jsfiddle.net/hhZfu/4/

推荐答案

您需要使用.prop()来设置选中的属性

$("#checkAll").click(function(){
    $('input:checkbox').not(this).prop('checked', this.checked);
});

Demo: Fiddle

Jquery相关问答推荐

多个 AJAX 调用;获取所有失败的呼叫

即使我使用 [FromBody] C# 从视图(Ajax)发送请求时在控制器中收到 NULL 对象

如何从 onclick div 属性检测 Javascript 中的 control+click?

jQuery单击/切换两个功能

确定 Javascript/jQuery 中字符串的像素长度?

bootstrap 模式中的自动完成问题

一次替换多个字符串

如何使用jQuery找到元素顶部的垂直距离(以px为单位)

jQuery 插入 div 作为某个索引

jQuery计算所有文本字段中的值的总和

按值对 Html Select 的选项进行排序的最有效方法是什么,同时保留当前选定的项目?

jquery beforeunload 关闭(不离开)页面时?

Select 除第一个之外的所有子元素

判断复选框是否未选中单击 - jQuery

单击时平滑滚动到特定的 div

将十六进制转换为 RGBA

CORS - 如何预检httprequest?

只绑定一次事件

粘性侧边栏:向下滚动时固定在底部,向上滚动时固定在顶部

如何在 jQuery 中取消绑定悬停?