我在另一篇文章(How to get JQuery UI Autocomplete work with item id)之后做了这个自动完成工作,它对自动完成工作正常。问题在于它没有获得id。
这是我的代码:
var raw = @Html.Raw(Json.Encode(@ViewBag.CT));
var source = [];
var mapping = {};
for (var i = 0; i < raw.length; ++i) {
source.push(raw[i].procedure);
mapping[raw[i].procedure] = raw[i].id;
}
$('#tags').autocomplete({
minLength: 1,
source: source,
select: function (event, ui) {
$('#tagsID').val(mapping[ui.item.id]);
}
});
数组包含4147个itens。
提前谢谢。
答案 0 :(得分:0)
我不知道为什么,但它只适用于值而不是id ...所以最终的代码就像:
var raw = @Html.Raw(Json.Encode(@ViewBag.CT));
var i;
for(i = 0; i < raw.length; i++){
raw[i].value = raw[i]['id'];
delete raw[i].id;
}
var source = [];
var mapping = {};
for (var i = 0; i < raw.length; ++i) {
source.push(raw[i].procedure);
mapping[raw[i].procedure] = raw[i].value;
}
$('#tags').autocomplete({
minLength: 1,
source: source,
select: function (event, ui) {
$('#tagsID').val(mapping[ui.item.value]);
}
希望它不要让应用程序太慢..
无论如何,谢谢你。