Javascript 如何在Jquery自动完成组合框中禁用特定选项

Javascript 如何在Jquery自动完成组合框中禁用特定选项,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,当我有一个简单的下拉框 <select id="fruits"> <option value="apple">Apple</option> <option value="orange">Orange</option> <option value="banana" disabled="true">Banana</option> </select> “自动完成”下拉列表工作正常,但选项“香蕉”(已禁用选

当我有一个简单的下拉框

<select id="fruits">
<option value="apple">Apple</option>
<option value="orange">Orange</option>
<option value="banana" disabled="true">Banana</option>
</select>

“自动完成”下拉列表工作正常,但选项“香蕉”(已禁用选项集)未被禁用。

假设它是演示中的组合框

尝试替换此行:

response( select.children( "option" ).map(function() {
与:


您也可以使用优秀的搜索引擎,它将搜索框与格式化的select元素结合起来。

遗憾的是,我认为这是不可能的

即使使用display隐藏元素:css中的none仍然允许它在autocomplete字段中显示。更糟糕的是,一旦在那里选择了它,它实际上在基础选择框中被选中,即使它被“禁用”


您唯一的选择可能是在元素被禁用时删除它,如果需要启用它,请再次添加它。

谢谢。它起作用了。但它删除了autocomplete中的禁用选项。而在原始下拉列表中,它将显示为禁用状态。但那很好。谢谢。没问题,有一些方法可以向用户显示,但可以防止在“自动完成”列表中进行选择,但如果用户看到但没有选择,可能会感到恼火,则最好让事情尽可能简单。
response( select.children( "option" ).map(function() {
response( select.children( "option" ).not(':disabled').map(function() {