UI小组件禁用

时间:2013-03-19 10:21:13

标签: jquery html css

我正在创建一个小部件,按下按钮我想要禁用小部件。

(function ($) {
    $.widget("df.txt", { })
})(jQuery);

$(document).ready(function () {
    //register input widgets
    $("input").txt({ disabled: true });


    //Register button to disable/enable inputs
    $("button").click(function () {
        //$("input").txt("disable");
        $("input").txt("option", "disabled", true);
    });
});

我使用此link作为参考。

它没有用,有什么帮助吗?

3 个答案:

答案 0 :(得分:1)

试试这个

  $('input').attr("disabled", true);

 or

 $('input').attr("disabled", 'disabled');

这里我们将禁用的属性设置为true。

答案 1 :(得分:1)

基本窗口小部件仅在disabled选项更改时切换某些类。

如果您想要实际禁用自定义窗口小部件增加的元素,则必须覆盖_setOption()方法并明确执行该操作:

(function($) {
    $.widget("df.txt", {
        _setOption: function(key, value) {
            this._super(key, value);
            if (key == "disabled") {
                this.element.prop("disabled", !!value);
            }
        }
    });
})(jQuery);

然后你可以这样写:

// Register button to disable/enable inputs.
$("button").click(function() {
    var $inputs = $("input");
    $inputs.txt("option", "disabled", !$inputs.txt("option", "disabled"));
});

答案 2 :(得分:0)

_setOption: function (key, value) {

            if (key === "disabled") {
                if (value) { this._Disable(); }
                else { this._Enable(); }
            }

 _Enable: function () {
            this.element.removeAttr("disabled");
            this.element.addClass("enable");
        },

        _Disable: function () {
            this.element.attr("disabled", "disabled");
            this.element.removeClass("enable");
        }