2010-12-09 38 views
4

從jQuery自動完成結果中的輸入在從結果中選擇時被激活

當我開始鍵入物種的名稱時,我在尋找jQuery自動填充小部件附帶的下拉菜單和一些結果。大!!

唯一的問題是,當我從列表中選擇一個項目時,位於該列表項下的輸入元素被激活。結果在頂部的android本地下拉菜單中。我試圖在自動完成結果框和輸入元素上使用z-indexes。既沒有工作。

任何想法的人?

回答

1

嘛,也不是傳播也不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不會突出顯示它們,並在自動完成框失效時重新啓用它們。

+0

我在chrome上遇到了同樣的問題,並且禁用了受影響的下拉列表,可以在一定程度上選擇自動填充選項。我只是要隱藏它而不是禁用。 – Cymbals 2012-01-10 17:05:13