猿问

使用jQuery切换输入禁用属性

这是我的代码:


$("#product1 :checkbox").click(function(){

    $(this)

        .closest('tr') // Find the parent row.

            .find(":input[type='text']") // Find text elements in that row.

                .attr('disabled',false).toggleClass('disabled') // Enable them.

                .end() // Go back to the row.

            .siblings() // Get its siblings

                .find(":input[type='text']") // Find text elements in those rows.

                .attr('disabled',true).removeClass('disabled'); // Disable them.

});

如何切换.attr('disabled',false);?


我似乎在Google上找不到它。


当年话下
浏览 595回答 4
4回答

慕虎7371278

$('#el').prop('disabled', function(i, v) { return !v; });该.prop()方法接受两个参数:属性名称(禁用,选中,选择)为true或false属性值,可以是:(空)-返回当前值。布尔值(true / false)-设置属性值。函数 -对找到的每个元素执行,返回值用于设置属性。有两个参数传递;第一个参数是索引(每个找到的元素增加0、1、2)。第二个参数是元素的当前值(真/假)。因此,在这种情况下,我使用了一个为我提供索引(i)和当前值(v)的函数,然后返回了当前值的相反值,因此属性状态被反转。

郎朗坤

我想获得完全的浏览器可比性disabled应该由该值设置disabled或将其删除!这是我刚刚制作的一个小插件:(function($) {    $.fn.toggleDisabled = function() {        return this.each(function() {            var $this = $(this);            if ($this.attr('disabled')) $this.removeAttr('disabled');            else $this.attr('disabled', 'disabled');        });    };})(jQuery);编辑:更新了示例链接/代码以保持可链接性!编辑2:基于@lonesomeday评论,这是增强的版本:(function($) {    $.fn.toggleDisabled = function(){        return this.each(function(){            this.disabled = !this.disabled;        });    };})(jQuery);

Cats萌萌

 $('#checkbox')。click(function(){        $('#submit')。attr('disabled',!$(this).attr('checked'));    });
随时随地看视频慕课网APP

相关分类

JQuery
我要回答