Jquery UI自动完成格式选择
如何设置自动完成小部件输入到文本框的值的格式 代码如下:Jquery UI自动完成格式选择,jquery,jquery-ui,Jquery,Jquery Ui,如何设置自动完成小部件输入到文本框的值的格式 代码如下: $(function() { var persons = [ { "salutation": "Mr." "name": "John Smith" }, { "salutation": "Ms." "name": "Mary Doe" }, {
$(function() {
var persons = [
{
"salutation": "Mr."
"name": "John Smith"
},
{
"salutation": "Ms."
"name": "Mary Doe"
},
{
"salutation": "Mrs."
"name": "Ana Smith"
}
];
$("input[name=text]").autocomplete({
source: persons
}).data("autocomplete")._renderItem = function(ul, item) {
return $("<li>").data("item.autocomplete", item).append("<a>" + item.name + "</a>").appendTo(ul);
};
});
触发select事件后,如何将对象的称呼和名称属性添加到文本框中
谢谢正如您在中所看到的,_renderItem的item参数包含当前对象的属性,因此您可以如下方式访问它们:
item.saltation和item.name
并将它们设置为输入值
下面是官方示例中的一小部分代码:
var projects = [
{
value: "jquery",
label: "jQuery",
desc: "the write less, do more, JavaScript library",
icon: "jquery_32x32.png"
},
{
value: "jquery-ui",
label: "jQuery UI",
desc: "the official user interface library for jQuery",
icon: "jqueryui_32x32.png"
}
];
$( "#project" ).autocomplete({
source: projects,
select: function( event, ui ) {
$( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value );
$( "#project-description" ).html( ui.item.desc );
$( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
return false;
}
// ...
})
// ...
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
更新
我已经实现了您想要的解决方案。请在下面查看
$function{
个人变量=[{
称呼:先生。,
标签:约翰·史密斯
}, {
称呼:女士。,
标签:玛丽·多伊
}, {
敬礼:夫人。,
标签:安娜·史密斯
}];
$input[type=text]。自动完成{
最小长度:0,
资料来源:个人,
焦点:functionevent,ui{
$this.valui.item.label;
返回false;
},
选择:functionevent,ui{
$this.valui.item.saltation+“”+ui.item.label;
返回false;
}
}
.dataautocomplete.\u renderItem=functional,项{
返回$
.dataitem.autocomplete,项目
.append+item.saltation++item.label+
.appendToul;
};
};
谢谢你的回复。但是,这只会在下拉列表中返回称呼和名称,一旦我选择了一个条目,文本框中只会输入名称