2012-03-20 87 views
1

禁用特定選項,當我有簡單的下拉選項香蕉在下降禁用下拉框如何在jQuery的自動完成COMBOX

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

當我試圖使用jQuery自動完成組合框

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

自動填充下拉工作正常,但選擇香蕉(其中有禁用選項),沒有被禁用。

+0

http://jqueryui.com/demos/autocomplete/#combobox – Karthi 2012-03-21 04:54:56

回答

2

假設它在演示組合框 http://jqueryui.com/demos/autocomplete/

嘗試更換這行:

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

有:

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

你也可以使用優秀的Chosen select element formatter它結合搜索框帶有格式化的select元素。

+0

謝謝。有用。但它會刪除自動完成中的禁用選項。而在原來的下拉菜單中,它將顯示爲禁用狀態。但沒關係。謝謝。 – Karthi 2012-03-21 04:51:44

+0

沒有問題,有辦法顯示給用戶,但阻止在自動完成列表中選擇,但最好儘可能簡單,如果用戶可以看到它但不選擇它,可能會感到惱火。 – chim 2012-03-22 10:52:14

+0

已更新我的答案,並鏈接到選定的js – chim 2012-03-22 10:58:10

0

不幸的是,我不認爲這是可能的。

即使在css中隱藏顯示元素:none仍然允許它顯示在自動填充字段中。更糟的是,一旦它被選中,它實際上在底層選擇框中被選中,即使它被「禁用」。

只有當它被禁用時纔可以選擇刪除元素,如果需要啓用它,則再次添加它。