Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用alt复选框_Javascript_Jquery_Html - Fatal编程技术网

Javascript 禁用alt复选框

Javascript 禁用alt复选框,javascript,jquery,html,Javascript,Jquery,Html,我正在使用alt-checkbox jquery插件显示复选框。我无法禁用alt-checkbox。要禁用复选框,我使用了以下属性 $("#MyId").prop("disabled",true); -此alt参考url复选框。您可能希望尝试以下操作: 我使用了alt checkbox演示中提供的示例代码 Javascript: var make = (function () {//Sample code from demo starts. jQuery("#checkbox1").altC

我正在使用alt-checkbox jquery插件显示复选框。我无法禁用alt-checkbox。要禁用复选框,我使用了以下属性

$("#MyId").prop("disabled",true);

-此alt参考url复选框。

您可能希望尝试以下操作:

我使用了alt checkbox演示中提供的示例代码

Javascript:

var make = (function () {//Sample code from demo starts.
jQuery("#checkbox1").altCheckbox({
    outlineUnchecked: false,
    sizeClass: "small"
});
jQuery("#checkbox2").altCheckbox();
jQuery("#checkbox3").altCheckbox({
    sizeClass: "big"
});
});
make();//Sample code from demo ends

//Actual code begins
$(document).on('click', '.alt-checkbox', function (e) {
    var a = $(this);
    var cb = a.nextAll('input[type="checkbox"]:first');
    if (cb.attr('disabled')) {
        console.log('doing nothing');
        e.stopPropagation();
        a.removeClass('checked');
        return false;
    } else {
        return true;
    }
});
HTML:

注意:您可以忽略make函数。
在第二个复选框中,我添加了disabled属性用于测试。只要您想禁用输入,就可以添加disabled属性。

这里有一个简单的解决方法。您必须“清除”altCheckbox,更改属性,然后再次将其“设置”为altCheckbox

功能失效 jQuery“[type=checkbox]”。altCheckbox“清除” document.getElementById'MyId'。checked=false; document.getElementById'MyId'。disabled=true; altCheckbox{outlineUnchecked:false,sizeClass:small}; alt复选框演示 检查我!我很小。
禁用我们使用相同的组件,在这些情况下,我们禁用生成的锚元素的单击事件,如下所示:


$':复选框:已禁用.prev.alt-checkbox.offclick

您是否尝试过$MyId.propdisabled,disabled;?我已经浏览了alt复选框的文档和源代码,它似乎没有禁用它的方法。我建议找一个不那么基本的插件。用.prop{disabled:true}试试;看看它是否有效。就像@Archer提到的,我也在这个插件上找不到任何支持禁用复选框的东西@BhushanKawadkar有什么问题。propdisabled,true?此插件使用锚定标记呈现伪造的复选框。您还必须以某种方式防止单击此锚,因为使用CSS属性指针事件:无;在现代浏览器上,或在前面设置一个元素以支持这些odler浏览器。e、 g:$MyId.propdisabled,true.prev'a'.css'pointer-events','none';我只是想知道MyId是否是您原始复选框的id。如果是的话,您将必须针对使用此插件创建的新复选框。在firebug中使用HTML。我将disabled=true的属性添加到由该插件创建的应用程序中。所以,很可能您的目标是错误的elementinput,它已经被隐藏了。
<h1>alt-checkbox demo</h1>
<input type="checkbox" id="checkbox1">
<label for="checkbox1">Check Me! I'm small.</label>
<input type="checkbox" id="checkbox2" disabled="disabled">
<label for="checkbox2">Check Me! I'm medium.</label>
<input type="checkbox" id="checkbox3">
<label for="checkbox3">Check Me! I'm big.</label>
<div> 
   <a href="javascript:make()">make</a>
   <a href="javascript:jQuery('[type=checkbox]').altCheckbox('clear')">clear</a>
</div>