为了账号安全,请及时绑定邮箱和手机立即绑定

使用jQuery切换输入禁用属性

使用jQuery切换输入禁用属性

当年话下 2019-11-25 10:42:08
这是我的代码:$("#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上找不到它。
查看完整描述

4 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

$('#el').prop('disabled', function(i, v) { return !v; });

该.prop()方法接受两个参数:


属性名称(禁用,选中,选择)为true或false

属性值,可以是:

(空)-返回当前值。

布尔值(true / false)-设置属性值。

函数 -对找到的每个元素执行,返回值用于设置属性。有两个参数传递;第一个参数是索引(每个找到的元素增加0、1、2)。第二个参数是元素的当前值(真/假)。

因此,在这种情况下,我使用了一个为我提供索引(i)和当前值(v)的函数,然后返回了当前值的相反值,因此属性状态被反转。


查看完整回答
反对 回复 2019-11-25
?
郎朗坤

TA贡献1921条经验 获得超9个赞

我想获得完全的浏览器可比性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);


查看完整回答
反对 回复 2019-11-25
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

 $('#checkbox')。click(function(){

        $('#submit')。attr('disabled',!$(this).attr('checked'));

    });


查看完整回答
反对 回复 2019-11-25
  • 4 回答
  • 0 关注
  • 594 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信