2013-05-17 48 views
2

我正在使用jQuery UIAutoCompleteCombobox選項,如圖所示here。這將開始在開始鍵入時立即過濾顯示的結果,但是如果已經選擇了一個元素,那麼鍵入(無需手動刪除內容)將只會追加到字符串中,通常找不到任何內容。在jQuery UI生成的輸入元素焦點上選擇文本

我希望在輸入字段接收焦點時默認選擇文本,但無法確定將該邏輯添加到腳本的位置。

下面是一個jsFiddle這個例子。

通常情況下,選擇在輸入元素中的文本時,臨危焦點時,您可以執行以下,像this SO問題:

//Select all text in Cost Rate Text Boxes when they have focus 
$(document).ready(function() { 
    $(".CostRateTextBox").live('mouseup', function() { 
     $(this).select(); 
    }); 
}); 

在腳本_createAutocomplete功能在輸入框中創建。是否有可能在接下來的行附近做到這一點?

this.input = $("<input>") 
+0

只需使用'$('input')。focus()' –

回答

4

添加事件處理程序創建的輸入時,像這樣(不使用活()):

this.input = $("<input>") 

      .appendTo(this.wrapper) 
      .val(value) 
      .attr("title", "") 
      .addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left") 
      .autocomplete({ 
       delay: 0, 
       minLength: 0, 
       source: $.proxy(this, "_source") 
      }) 
      .tooltip({ 
       tooltipClass: "ui-state-highlight" 
      }).on('mouseup', function() { 
       $(this).select(); 
      }); 

FIDDLE

是的,你必須使用mouseup來讓選擇工作。

+0

Cool..works great ..(y) –

+0

'mousedown'也可以工作,在我看來,效果更好,因爲從按下到釋放時都沒有任何延遲。我可以問你爲什麼建議'mouseup'?謝謝:編輯:好吧,我自己發現,mouseup適用於IE,mousedown does not。 :/ – drinu16

2

添加到您的代碼:

.tooltip({ 
      tooltipClass: "ui-state-highlight" 
    }).focus(); 

Check Fiddle

+0

當我將鼠標移到字段中時,只有當我選中它時,這似乎不起作用。 – KyleMit

相關問題