2013-05-17 23 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

相关问题