自动完成一个包含ID和值的下拉列表
我想自动完成一个下拉列表。自动完成一个包含ID和值的下拉列表
这是我JSON字符串:
[{ “ID”:1, “名称”: “大卫”},{ “ID”:2, “名称”: “保罗”} ]
这是我输入:
<input type="text" id="tbNames" />
,这是我的javascript :
//datas variable contains the json string
function BindNames(datas) {
$('#tbNames').autocomplete({
source: datas,
minLength: 0,
scroll: true,
select: function (event, ui) {
$("#tbNames").val(ui.item.Name);
return false;
}
}).focus(function() {
$(this).autocomplete("search", "");
});
}
的问题是,当我点击“tbNames”输入显示在下拉列表中,但名称中不显示,但也有在名单内的名字,因为当我点击的下拉列表两个名字之一显示在我的输入内。
http://jsbin.com/wudidaqapo/1/edit?html,css,js,console,output
感谢您的帮助。
试试这个:
function BindNames() {
var datas=[{"ID":1,"Name":"david"},{"ID":2,"Name":"Paul"}];
$('#tbNames').autocomplete({
source: function (request, response) {
response($.grep(($.map(datas, function (v, i) {
return {
label: v.Name,
value: v.ID
};
})), function (item) {
return item.label;
}));
},
minLength: 0,
scroll: true,
}).focus(function() {
$(this).autocomplete("search", "");
});
}
谢谢,你的解决方案显示所有的名字!我需要使用:.focus(function(){$(this).autocomplete(“search”,“”);});我试着用你的代码做到这一点,但它不工作。你能帮我吗? – userfloflo 2015-03-31 15:56:16
我有更新,所以请更新您的代码,如上面 – 2015-03-31 16:02:28
请看看它是否帮助you.please使用您的JSON对象的“标签”性质,其中Autocompleter用来寻找匹配
[{"ID":1,"Name":"david","label":"david"},{"ID":2,"Name":"Paul","label":"Paul"}]
谢谢它的作品太:) – userfloflo 2015-04-01 07:34:16
请提供您的代码在jsfiddle – 2015-03-31 14:47:22
http://jsbin.com/wudidaqapo/1/edit?html,css,js,console,output – userfloflo 2015-03-31 15:24:54