2010-08-21 48 views
4

先前建議我使用jQuery Autocomplete和用戶所看到的以下行爲:jquery.autocomplete恢復到無效的標籤

  1. 用戶開始輸入一個字符串和建議都
  2. 用戶保持打字,直到沒有建議有效不再(和下拉消失)
  3. 用戶點擊選項卡
  4. 自動填充字段具有無效以前的建議,抹着什麼用戶輸入了

任何想法?

這是Javascript代碼(從Django的模板):

$("#id_name").autocomplete("{% url name_autocomplete %}", { 
    formatItem: function(data, i, n, value) { 
     values = value.split(",,"); 
     return values[0]; 
    }, 
    formatResult: function(data, value) { 
     return value.split(",,")[1]; 
    }, 
    highlight: false 
}); 
+0

是的......很多想法,但實際的答案是很難看到您的碼。 – 2010-08-21 19:34:33

+0

我已添加使用的JavaScript代碼 – 2010-08-21 19:37:59

回答

1

你確定所描述的行爲是正是什麼用戶在做什麼?我只問,因爲看起來如果你輸入一個自動完成的術語,向下滾動到一個選項,鍵入足以創建一個無效的術語,並非常快地按下標籤,然後突出顯示建議被「提交」。當您的行爲添加「步驟1.5」時,似乎存在競爭狀況:「用戶按下向下箭頭突出顯示一個建議。」

如果行爲確實如您所述,您可以考慮在jQuery UI中使用自動完成功能。看起來您已鏈接到的自動完成版本已被棄用。我對幾個不同的jQuery UI自動完成實現做了一個快速測試,他們似乎沒有表現出你描述的行爲。

或者,您在https://github.com/agarzola/jQueryAutocompletePlugin處鏈接的版本似乎有更新。錯誤報告和修復似乎沒有很好的記錄,但也許他們在更新中(直接或間接地修復了您的問題)。