【问题标题】:Add disabled selected option in select menu via jQuery通过 jQuery 在选择菜单中添加禁用的选定选项
【发布时间】:2015-03-25 09:53:15
【问题描述】:

我们有一个通过 data- 属性和一个 knockout.js 数组填充的选择菜单。我对 jQuery 也不是很熟悉,请记住这一点。

如何通过 jQuery 添加一个选项,该选项是第一个选择的选项,并且它也被禁用。基本上,它被用作占位符。我知道如何通过 HTML 做到这一点,但不是这样。这是正在使用的 HTML:

<select id="delemilter" data-bind="options: delimiterList, value: delimiterSelectedValue, optionsValue: 'value', optionsText: 'name', enable: true"></select>

在其他选择菜单中,我们的一位开发人员使用了这行 jQuery。似乎是一些淘汰 API 的东西。看起来像一个可观察的数组:

self.selectMenuID.push({ value: 'Placeholder Text', key: 0, data: 0, disabled: true });

无法弄清楚如何再次重用它...希望这是足够的信息。

谢谢!

【问题讨论】:

    标签: javascript jquery html knockout.js


    【解决方案1】:

    你可以这样做:

    $('#delemilter').prepend('<option disabled="disabled">My disabled Option</option>');
    

    记得根据需要在我们选项的html中指定其他属性。

    这是一个适合您的 JSFiddle:http://jsfiddle.net/loanburger/ask9L71h/

    【讨论】:

    • 太棒了,谢谢!现在我必须弄清楚为什么它仍然选择第二个选项(最初是第一个),即使我在.prepend 上有一个selected 属性。可能需要开发人员的帮助。但这确实有效,只是不完全适合我的具体情况。
    【解决方案2】:

    我发现这种方式更加优雅和可读:

    $("select").append($("<option>", {
        value: "foo",
        text: "bar"
    }).prop("disabled", true));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-10
      • 2011-08-13
      • 2015-01-14
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      相关资源
      最近更新 更多