1

我希望这不是一个重复的问题。我已经在 Stackoverflow 上进行了足够多的搜索,以找到我最简单问题的答案。

我有一组单选框,根据单选框的值,我需要禁用/启用用户从组合框中选择一个。

无论我做什么,我都无法将组合框设为只读或禁用。我通过将 JQueryUI 直接链接到http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js来使用它。为 jQuery 制作普通组合框的代码如下:-

$('#cbCountry").combobox();

我尝试了在网上不同地方指定的不同方法。似乎没有任何效果。

4

3 回答 3

3

轻松修改组合框库以使用:

$("#cbCountry").combobox('disable'); 
$("#cbCountry").combobox('enable');

在您的 combobox.js 文件中添加:

  1. _create: function()添加局部变量“a”(在var 输入后,a ...)。
  2. 更改input = $("<input>")input = this.input = $("<input>")
  3. 更改a = $("<a>")a = this.a = $("<a>")
  4. 在销毁功能后插入:

--

disable: function() {
    this.input.prop('disabled',true);
    this.input.autocomplete("disable");
    this.a.button("disable");
},
enable: function() {
    this.input.prop('disabled',false);
    this.input.autocomplete("enable");
    this.a.button("enable");
}
于 2012-12-05T23:13:28.933 回答
0

我刚刚检查过,你说得对,禁用组合框比我们想象的要复杂。

所以,我为你做了一个小提琴,你可以在这里找到:http: //jsfiddle.net/S77xa/61/

于 2012-09-18T19:04:41.513 回答
0

Boulliou 的答案是更好的答案。这是另一种方式:

如果你确实使用$.autocomplete那么:

$('#cbCountry").autocomplete( "option", "disabled", true );
于 2012-09-18T19:07:17.890 回答