Javascript 将禁用属性转换为true或false switchery

Javascript 将禁用属性转换为true或false switchery,javascript,jquery,Javascript,Jquery,我使用这个漂亮的iOS复选框插件。默认情况下,该复选框处于禁用状态。现在,如果用户单击具有“btn_modify”类的按钮,我想启用switchery复选框,如果用户单击具有“btn_cancel”类的按钮,我想将其禁用。下面是我的代码参考 <input type="checkbox" name="" value="" class="js-switch" checked /> <button class="btn_modify">Modify</button>

我使用这个漂亮的iOS复选框插件。默认情况下,该复选框处于禁用状态。现在,如果用户单击具有“btn_modify”类的按钮,我想启用switchery复选框,如果用户单击具有“btn_cancel”类的按钮,我想将其禁用。下面是我的代码参考

<input type="checkbox" name="" value="" class="js-switch" checked />
<button class="btn_modify">Modify</button>
<button class="btn_cancel">Cancel</button>
还有我的尝试

$(".btn_modify").click(function(){
    $(".js-switch").attr("disabled", false);
});

$(".btn_cancel").click(function(){
    $(".js-switch").attr("disabled", true);
});

但遗憾的是,没有工作,任何帮助、想法、线索、建议、建议都将不胜感激。谢谢大家!

disabled=false仍将注册为disabled。启用它的唯一方法是完全删除禁用的属性,如:

$(".js-switch").removeAttr('disabled');

disabled=false仍将注册为disabled。启用它的唯一方法是完全删除禁用的属性,如:

$(".js-switch").removeAttr('disabled');
在你的情况下是这样的

var elem = document.querySelector('.js-switch');
var switchery = new Switchery(elem);

document.querySelector('.btn_cancel').addEventListener('click', function() {
  switchery.disable();
});

document.querySelector('.btn_modify').addEventListener('click', function() {
  switchery.enable();
});
第二种选择

CSS

.disabled{
 opacity: 0.5;
 pointer-events: none;    
}
$(".btn_modify").on("click",function(){
        $(".switchery").removeClass("disabled");
    });

$(".btn_cancel").on("click",function(){
    $(".switchery").addClass("disabled");
});
JS

.disabled{
 opacity: 0.5;
 pointer-events: none;    
}
$(".btn_modify").on("click",function(){
        $(".switchery").removeClass("disabled");
    });

$(".btn_cancel").on("click",function(){
    $(".switchery").addClass("disabled");
});

参考文献

在你的情况下是这样的

var elem = document.querySelector('.js-switch');
var switchery = new Switchery(elem);

document.querySelector('.btn_cancel').addEventListener('click', function() {
  switchery.disable();
});

document.querySelector('.btn_modify').addEventListener('click', function() {
  switchery.enable();
});
第二种选择

CSS

.disabled{
 opacity: 0.5;
 pointer-events: none;    
}
$(".btn_modify").on("click",function(){
        $(".switchery").removeClass("disabled");
    });

$(".btn_cancel").on("click",function(){
    $(".switchery").addClass("disabled");
});
JS

.disabled{
 opacity: 0.5;
 pointer-events: none;    
}
$(".btn_modify").on("click",function(){
        $(".switchery").removeClass("disabled");
    });

$(".btn_cancel").on("click",function(){
    $(".switchery").addClass("disabled");
});


参考

您使用的是什么版本的jquery?您包括jQuery库了吗?我使用了最新的库jQuery 2.x.x,是的,我包括了它,呈现switchery插件没有问题文档就在您链接的页面上-保留对对象的引用,并调用
.disable()
.enable()
。您使用的是哪个版本的jQuery?您包括jQuery库了吗?我使用了最新的库jQuery 2.x.x,是的,我包括了它,呈现switchery插件没有问题文档就在您链接的页面上-保留对对象的引用,并调用
.disable()
.enable()
。我查看了它,但找不到一种方法将它与我当前的开发合并。0.o我认为它非常明显地感谢css选项。对于预先构建的主题,使用此选项可以更容易地初始化幕后的一切。它会不断创建“我是新的”复选框,我使用的是主版本,请参见问题我查看它,但找不到将其与当前开发合并的方法。0.o我认为这非常明显感谢css选项。对于预先构建的主题使用此选项更容易,它会初始化幕后的所有内容。它会继续创建“我是新的”复选框,我使用的是主版本请参见问题