2013-06-04 51 views
1

我只要你開始在文本框中輸入,在自動完成踢和從數組中檢索可用標籤(僅用於演示目的)自動完成的選擇事件塊限制範圍?

問題就來了之後開發的標籤解決方案(查看下面的jsfiddle)和從自動完成下拉列表中選擇標籤,因爲一旦選擇了所需的標籤,jQuery就不會清除我的文本框。

我創建了一個小提琴給你看:

http://jsfiddle.net/TQCzd/

相關的線51-59:

  $('<input type="text" value="" name="tagName" id="tagName" placeholder="Start typing tag name" class="new_tag_input" onkeydown="if(event.keyCode == 13) { return false; }" />') 
       .autocomplete({ 
        source: "/get_tags_autocomplete", 
        minLength:1, 
        select: function(e, ui) { 
         $this.addTag(ui.item.label); 
         $(this).val(''); 
        } 
       }) 

以下行:

$(this).val('');

應該是cleani ng文本框,但它不會在自動完成的select事件塊中執行此操作。

我試了一下,我還沒有能夠清除文本框從下拉菜單中選擇一個選項。

任何幫助將不勝感激!

回答

1

添加此旁邊的 「成功」 的功能,它會工作:)

close: function(e, ui){ this.value = ''; } 
+0

真棒!它是如何與關閉事件一起工作的,但是一旦選擇事件完成,它就不會出現? – ILikeTacos

+0

不幸的是,我對這個小部件沒有太多的瞭解 - 我只能假設搜索方法中的$(this)引用了小部件本身,並且在小部件被銷燬後,close()在不同的作用域(輸入域)中被觸發 – Ochi

+0

它可以工作,但是如果不從自動完成的下拉菜單中選擇一個選項,它將在關閉下拉菜單後自動清除(因爲它位於關閉事件塊內)。 我試了this.value ='';在選擇事件塊內部,沒有工作:/ – ILikeTacos