我正在使用 jQuery UI
AutoComplete
Combobox
选项,如图所示 here 。当您开始输入时,这将立即开始过滤显示的结果,但如果已经选择了一个元素,则输入(无需手动删除内容)将仅附加到字符串上,通常不会找到任何内容。
我希望每当输入字段获得焦点时默认选择文本,但我无法弄清楚将该逻辑添加到脚本中的位置。
这是一个jsFiddle就这个例子。
通常,要在输入元素获得焦点时选择输入元素中的文本,您可以执行以下命令,例如 this所以问题:
//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>")
最佳答案
创建输入时添加事件处理程序,如下所示(并且不要使用 live() ):
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();
});
是的,您必须使用mouseup
才能使选择工作。
关于jquery - 选择 jQuery UI 生成的输入元素焦点上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16617095/