隐藏ID字段的自动填充功能无效

时间:2017-01-03 14:08:22

标签: javascript jquery arrays asp.net-mvc-4 autocomplete

我在另一篇文章(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。

提前谢谢。

1 个答案:

答案 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]);
    }

希望它不要让应用程序太慢..

无论如何,谢谢你。