我正在使用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>")
答案 0 :(得分:5)
在创建输入时添加事件处理程序,如此(并且不要使用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
才能让选择工作。
答案 1 :(得分:2)