2016-07-27 55 views
0

HiAll,JQUERY自動完成(禁用點擊選擇)

我用一個簡單的JQUERY自動完成,以示對某些碼記錄候選條件的重複,如名稱或地址,當用戶在一個文本框填寫。

下面的代碼

<script type="text/javascript"> 
       $(function() { 
        var availableTags = <?php include('ajax/ajax_show.php'); ?>; 
        $("#name_value").autocomplete({ 
         source: availableTags, 
         autoFocus:true 
        }); 
       }); 
      </script> 

下面的文本提交是裏顯示的結果。

Name[____________________] 
Paul a 
Robert b 
Cid c 

有一種方法可以禁用選擇? 我想使用自動完成功能僅顯示記錄,但用戶無法單擊以選擇任何內容。

+0

[jQuery UI的自動完成禁用選擇並關閉事件(可能的重複http://stackoverflow.com/questions/6043506/jquery-ui-autocomplete-disable-select-close-events) – Kld

回答

0

您可能會將用戶與此安排混淆,因爲每隔一段時間他開始鍵入一個框並出現一個列表,該列表將會是可供選擇的可用選項的列表。你正在改變規則,這並不是最好的用戶體驗。我會考慮重新考慮這一點。

這就是說,你可以做你的select選擇想要的東西通過調用它preventDefault()

$("#name_value").autocomplete({ 
    source: availableTags, 
    autoFocus:true, 
    select: function(e, ui) { 
     e.preventDefault(); 
    } 
}); 
+0

是的,也許用戶混淆你是對的。 自動完成顯示結果是這樣的:** Paul James - 123.123.123-12 **但是在文本輸入時點擊我只需要發送姓名,在這種情況下** Paul James **。有一種方法可以做到這一點? –

+0

假設沒有任何名字的字符串,你可以使用'substr'去除' - '(空格連字符空格)和其後的所有內容。一個更強大的選項是將你的'source'改爲具有標籤和值屬性的對象數組:[{label:「Choice1」,value:「value1」},...]並且只將名稱放入值中屬性。如果您遇到問題,請將其發佈到新問題。 – BobRodes

+0

發表:-) http://stackoverflow.com/questions/38620427/autocomplete-jquery-remove-everything-after –