我想選擇第一項,但不想用它填充輸入。因此,如果按Enter鍵,則會選擇第一個值,但從不輸入自動填充,直到用戶點擊回車或點擊屏幕上其他位置導致列表關閉。Jquery UI自動完成選擇第一項,但不填充輸入
我看過selectFirst和autoFocus,但它們並不完全是我在找的東西。不知道我所要求的是甚至可能的,但在我看來,它一定是。
任何想法?
我想選擇第一項,但不想用它填充輸入。因此,如果按Enter鍵,則會選擇第一個值,但從不輸入自動填充,直到用戶點擊回車或點擊屏幕上其他位置導致列表關閉。Jquery UI自動完成選擇第一項,但不填充輸入
我看過selectFirst和autoFocus,但它們並不完全是我在找的東西。不知道我所要求的是甚至可能的,但在我看來,它一定是。
任何想法?
首先,selectFirst
和autoFocus
不是jQueryUI autocomplete上的選項。它們來自最終被採用到jQueryUI中的插件,因此發現here的文檔已被棄用。
我並不完全清楚你想完成什麼,但是聽起來好像你只是不希望某個項目在下拉菜單中關注它時填充input
元素。這的確是可能的:
$("#autocomplete").autocomplete({
source: [...],
focus: function() {
return false;
}
});
從focus
事件處理程序返回false
將防止在菜單關注項目從填充下拉列表。
請注意,單擊頁面上的其他位置將不會填充input
元素。這是因爲當您將鼠標移離菜單時,您選擇的項目會失去焦點。這對我來說似乎是自然的行爲,但也可能有一種方法來實現這一點。
可以使用focus
事件處理程序和autoFocus
選項一起填充隱藏的輸入。然後,當自動完成菜單關閉時,使用事件處理程序使用隱藏輸入來填充所需的任何字段。
嗨安德魯, 謝謝你回到我身邊。 當然,我明白他們是插件,而不是AC Ui原始選項集的一部分。儘管我覺得我還沒有讓自己清楚。 當列表打開時,我想選擇第一個選項。我只是不想輸入填充值。因此,如果用戶輸入「soc」,則會列出一些項目,如「足球」,「社會研究」。所以現在在列表打開並且輸入「soc」的情況下,用戶點擊關閉列表或點擊進入關閉列表。這是第一個選項應填充輸入的時間。 – Arnaud 2011-06-01 11:04:33
添加到上面的評論我同意你的陳述,它不是自然的,但它是客戶想要的。所以我必須做到這一點。將不勝感激任何幫助。 – Arnaud 2011-06-01 11:57:03