jQuery检查和取消检查复选框

jQuery检查和取消检查复选框,jquery,jquery-attributes,Jquery,Jquery Attributes,我必须勾选和取消勾选复选框。但它并不奏效 示例:当第一次加载时状态为激活时: 取消选中复选框进入非活动状态(工作正常) 再次检查以使其处于活动状态(不工作,保持取消选中) 示例:当第一次加载时状态为非活动时: 将复选框选中为活动(正常工作) 取消选中复选框进入非活动状态(工作正常) 再次检查以使其处于活动状态(不工作,保持取消选中) 以下是我的示例代码: var statusCheck = $('.status-box'); $.ajax({ url: 'sample/url'

我必须勾选和取消勾选复选框。但它并不奏效

示例:当第一次加载时状态为激活时:

  • 取消选中复选框进入非活动状态(工作正常)
  • 再次检查以使其处于活动状态(不工作,保持取消选中)
示例:当第一次加载时状态为非活动时:

  • 将复选框选中为活动(正常工作)
  • 取消选中复选框进入非活动状态(工作正常)
  • 再次检查以使其处于活动状态(不工作,保持取消选中)
以下是我的示例代码:

var statusCheck = $('.status-box');

$.ajax({
    url: 'sample/url',
    type: 'POST',
    data: {
        user_id: ids,
        status: statusVal
    },
    success: function (response) {
        if (response == 'ok') {
            $.each(statusCheck, function () {
                var _this = $(this);

                if (_this.is(':checked')) {
                    _this.removeAttr('checked');
                } else {
                    _this.attr('checked', '');
                }
            });
        }
    }
});
试试这个:
\u this.attr('checked','checked')

另外,
.prop()
从这可能会产生神奇的效果;)

试试这个:
\u this.attr('checked','checked')

另外,
.prop()
从这可能会产生神奇的效果;)

我在使用JQuery检查和取消检查复选框时遇到了问题(奇怪的异常)。我正在使用
.attr
.removeAttr
,当我将其更改为
.prop('checked',false/true)
时,我解决了问题

在jQuery1.6之前,.attr()方法在检索某些属性时有时会考虑属性值,这可能会导致不一致的行为。从jQuery1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()则检索属性。

注意:您应该使用
jquery1.6+

我在使用JQuery检查和取消检查复选框时遇到问题(奇怪的异常)。我正在使用
.attr
.removeAttr
,当我将其更改为
.prop('checked',false/true)
时,我解决了问题

在jQuery1.6之前,.attr()方法在检索某些属性时有时会考虑属性值,这可能会导致不一致的行为。从jQuery1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()则检索属性。


注意:您应该使用
jquery1.6+

错误控制台中是否有错误?尝试点击F12打开控制台您是否尝试了
.prop('checked',false/true)
而不是
\u this.attr('checked','')?也检查这个相关的答案@Amitd-我有,但没有错误。实际上,它会将checked=“checked”放在HTML元素上,但复选框仍保持未选中状态。@AntonBelev-是,但仍不起作用。在错误控制台中是否有任何错误?尝试点击F12打开控制台您是否尝试了
.prop('checked',false/true)
而不是
\u this.attr('checked','')?也检查这个相关的答案@Amitd-我有,但没有错误。实际上,它会将checked=“checked”放在HTML元素上,但复选框仍然保持未选中状态。@AntonBelev-是的,但仍然不起作用。我昨天尝试了这个.prop(),但它不起作用。但我现在已经试过了,效果很好。也许这和我的密码有关。。但是现在问题解决了。。使用.prop(),谢谢..我昨天试过这个.prop(),但它不起作用。但我现在已经试过了,效果很好。也许这和我的密码有关。。但是现在问题解决了。。使用.prop(),谢谢。。
var statusCheck = $('.status-box')

$.ajax({
        url     : 'sample/url',
        type    : 'POST',
        data    : { user_id: ids, status: statusVal },
        success : function( response ) {
            if( response == 'ok' ) {
                $.each(statusCheck, function(){
                    var _this    = $(this);

                    if( _this.is(':checked') ) {
                        _this.removeAttr('checked');
                    } else {
                        _this.attr('checked', 'checked');
                             // ...............^ here ^
                    }
                });
            }
        }
    });