2014-04-28 2 views
0
<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.

Затем я выбираю только имена в поле отображения ввода и сохраняю его идентификатор, когда он выбран.

Но я не получаю эту работу автозаполнения.

Что мне здесь не хватает? Я полагаю, что все отлично работает с моей стороны.

Вот снимок данных, поступающий из ме-

enter image description here

+0

Попытайтесь добавить это перед тем, как typehead 'itemValue: 'Id', itemText: 'Ch_Name',' –

+0

@ RaúlMonge. Это работает, но проблема только в том, что она не обновляется в updater. Я пытаюсь получить идентификатор Id с помощью обновления, но это не работает. – user3163213

ответ

-1

Там нет собственности «обновления» параметра машинописного.

Однако вы можете использовать $('#input-tagautocomplete').val(), чтобы получить строку с разделенным запятыми тегами. См. this page для справки.

Смежные вопросы