【问题标题】:How can I make the jQuery MultiSelect widget read-only?如何将 jQuery MultiSelect 小部件设为只读?
【发布时间】:2013-08-11 17:31:30
【问题描述】:

如何将 Eric Hynds 的 MultiSelect jQuery UI 插件设为只读?我知道如何禁用小部件,但我想在用户无法更改任何内容的情况下显示其内容。

【问题讨论】:

  • 当您说使其只读时,您的意思是禁用复选框吗?如果没有,您能详细说明吗?
  • @Rooster 无法更改选择,这将需要禁用复选框。

标签: javascript jquery jquery-ui jquery-plugins multi-select


【解决方案1】:

SEE THIS FIDDLE

基本上,只需在创建多选时将您可以定位的类传递给它,然后在包装器内的所有输入上使用该目标类设置禁用为 true。

$("#jquery_fun").multiselect({classes:'jquery_fun'});
$('.jquery_fun').find('input').each(function(){
    $(this).prop('disabled', true);
});

【讨论】:

  • 一旦我有时间再次解决这个问题,我会尽快回复您,谢谢。
【解决方案2】:

Rooster 解决方案在 IE8 中尝试将焦点移至禁用的输入时会导致 javascript 错误。 如果只想显示选中的值,不显示选项,可以使用如下代码:

$("#myMultiselect").multiselect({
    multiple: false,
    header: true,
    selectedList: 1,
    open: function () {  
        $("#myMultiselect").multiselect("close");
    }
}); 

【讨论】:

    【解决方案3】:

    您可以通过这种方式禁用控件:

    $("#myMultiselect").multiselect('disable');
    

    【讨论】:

    • 这并没有回答问题,因为 OP 明确表示他不想禁用小部件。
    猜你喜欢
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多