如何在Jquery Autocomplete组合框中禁用特定选项

时间:2012-03-20 13:29:45

标签: 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>

香蕉选项在下拉列表中被禁用。

当我尝试使用Jquery自动完成组合框

$( "#fruits" ).combobox();

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

2 个答案:

答案 0 :(得分:2)

假设它是演示中的组合框 http://jqueryui.com/demos/autocomplete/

尝试替换此行:

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

使用:

response( select.children( "option" ).not(':disabled').map(function() {

您还可以使用优秀的Chosen select element formatter,它将搜索框与格式化的选择元素相结合。

答案 1 :(得分:0)

可悲的是,我不认为这是可能的。

即使在css中使用display:none隐藏元素,仍然允许它在自动填充字段中显示。更糟糕的是,一旦它被选中,它实际上在底层选择框中被选中,即使它被“禁用”。

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