jquery автозаполнение без сбора данных c данные - PullRequest
1 голос
/ 06 февраля 2020

Я использую следующий код, и он всегда выбирает жестко закодированные данные, определенные в availableTags. Если я динамически загружаю данные из C# WebApi, он по-прежнему извлекает старые данные, например ActionScript и AppleScript.

Как вы видите, я печатаю значения до и после, и они оба работают правильно, то есть, как я вижу он присваивает новые данные availableTags, но автозаполнение все еще работает со старыми данными. Есть ли ограничение на количество предметов, которые я могу определить в availableTags? Поскольку динамически он получает 504 элемента из моего кода, возможно, в этом проблема?

Что я делаю не так?

<input id="tags">

<script>
var availableTags =
[
    "ActionScript",
    "AppleScript"
];

$("#tags").autocomplete
({
    source: availableTags
});

$.getJSON("MyController/GetAllTags")
    .done(function (data)
    {
        alert("Before="+ availableTags);
        availableTags = data;
        alert("After="+ availableTags);
    });
</script>

1 Ответ

2 голосов
/ 06 февраля 2020

Попробуйте это

<input id="tags">

<script>
var availableTags =
[
    "ActionScript",
    "AppleScript"
];

$("#tags").autocomplete
({
    source: availableTags
});

$.getJSON("MyController/GetAllTags")
    .done(function (data)
    {
        $("#tag").autocomplete('option', 'source', data)
    });
</script>

Редактировать 1: Обновление кода

...