<script type="text/javascript">
$(function() {
$('#input-tagautocomplete').tagsinput({
typeahead: {
source: function (term, process) {
items = [];
map = {};
var url = "@Url.Content("~/video/Getchannel/")";
return $.getJSON(url, { term: term }, function (data) {
$.each(data, function (i, item) {
map[item.Ch_Name] = item;
items.push(item.Ch_Name);
});
return (items);
});
},
updater: function (item) {
var selected = map[item].Id;
alert(selected);
$('#tag-value').val(selected);
return item;
}
}
});
});
Bootstrap tagsinput автозаполнение не работает
У меня есть скрипт, содержащий AJAX запрос, чтобы получить источник в массиве.
Затем передайте это значение в автозаполнение.
Я пытаюсь получить что-то вроде this-
http://jsfiddle.net/Palapas/WtC27/1/
Примечание- Хотя запрос типа JSON отправленного методу, он возвращается ко мне с результатом массива, как это должно быть в случай автозаполнения.
public JsonResult Getchannel(string term)
{
var genes = (from u in tp.Channels
where u.Ch_Name.Contains(term)
select u).ToArray();
var result = genes.Select(m => new { Ch_Name = m.Ch_Name, Id = m.Id });
return new JsonResult()
{
Data = result,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
Этот метод возвращает мне массив Ch_Name
и Id
.
Затем я выбираю только имена в поле отображения ввода и сохраняю его идентификатор, когда он выбран.
Но я не получаю эту работу автозаполнения.
Что мне здесь не хватает? Я полагаю, что все отлично работает с моей стороны.
Вот снимок данных, поступающий из ме-
Попытайтесь добавить это перед тем, как typehead 'itemValue: 'Id', itemText: 'Ch_Name',' –
@ RaúlMonge. Это работает, но проблема только в том, что она не обновляется в updater. Я пытаюсь получить идентификатор Id с помощью обновления, но это не работает. – user3163213