2014-04-28 1 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 autocomplete ne fonctionne pas

J'ai ce script contenant la demande ajax pour obtenir la source dans le tableau.

Puis en passant ces valeurs en saisie semi-automatique.

Je suis en train de faire quelque chose comme this-

http://jsfiddle.net/Palapas/WtC27/1/

Remarque- Alors que la demande de type JSON envoyé à la méthode, il me revient avec un résultat de tableau comme il devrait être en cas de saisie semi-automatique.

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 
       }; 
} 

Cette méthode me retourne un tableau de Ch_Name et Id. Puis je sélectionne uniquement les noms dans le champ d'affichage de l'entrée et enregistre son identifiant quand il est sélectionné.

Mais je n'obtiens pas ce travail de saisie semi-automatique.

Qu'est-ce qui me manque ici? Je suppose que tout fonctionne bien à ma fin.

Voici un aperçu des données provenant de méthodolo-

enter image description here

+0

Essayez d'ajouter ceci avant le type 'itemValue: 'Id', itemText: 'Nom_Ch', ' –

+0

@ RaúlMonge, Cela fonctionne mais seul le problème est, il n'est pas mis à jour dans updater. J'essaie d'obtenir l'identifiant de l'utilisateur via le programme de mise à jour, mais cela ne fonctionne pas. – user3163213

Répondre

-1

Il n'y a pas de propriété 'updater' du paramètre typeahead.

Toutefois, vous pouvez utiliser $('#input-tagautocomplete').val() pour obtenir une chaîne contenant une liste de balises séparées par des virgules. Voir this page pour la référence.