當我開始鍵入物種的名稱時,我在尋找jQuery自動填充小部件附帶的下拉菜單和一些結果。大!!
唯一的問題是,當我從列表中選擇一個項目時,位於該列表項下的輸入元素被激活。結果在頂部的android本地下拉菜單中。我試圖在自動完成結果框和輸入元素上使用z-indexes。既沒有工作。
任何想法的人?
當我開始鍵入物種的名稱時,我在尋找jQuery自動填充小部件附帶的下拉菜單和一些結果。大!!
唯一的問題是,當我從列表中選擇一個項目時,位於該列表項下的輸入元素被激活。結果在頂部的android本地下拉菜單中。我試圖在自動完成結果框和輸入元素上使用z-indexes。既沒有工作。
任何想法的人?
取消事件傳播可能是解決這個問題的關鍵。這個問題可能有助於解決您遇到的問題。 Event propagation in Javascript
嘛,也不是傳播也不Z-指標似乎來解決這個問題。
我發現的唯一方法是將其他字段(除自動完成之外的所有字段)設置爲禁用模式。
因此,打開自動完成框的時候,我將所有其他投入到殘疾人,一旦對話框關閉它們重置:
$("#venue_name").autocomplete({
minLength: 2,
source: venueData,
open: function(event, ui) { // disable other inputs
$("input#venue_address").attr("disabled", "disabled");
$("input#venue_cross_street").attr("disabled", "disabled");
$("input#venue_city").attr("disabled", "disabled");
},
close: function(event, ui) { // re-enable other inputs
$("input#venue_address").removeAttr("disabled");
$("input#venue_cross_street").removeAttr("disabled");
$("input#venue_city").removeAttr("disabled");
}
});
可以改善上面的代碼,比如,通過將要素被禁用到數組等中,但基本邏輯保持不變:禁用元素,以便在自動完成框激活時android不會突出顯示它們,並在自動完成框失效時重新啓用它們。
我在chrome上遇到了同樣的問題,並且禁用了受影響的下拉列表,可以在一定程度上選擇自動填充選項。我只是要隱藏它而不是禁用。 – Cymbals 2012-01-10 17:05:13
現在只是忙於其他的東西。但你的回答非常感謝。我會仔細研究它,並將結果返回給您。 – Timo 2010-12-16 06:10:43