2016-08-10 1 views
1

ich dieses Skript gemacht und funktioniert perfekt:Bootstrap typeahead und Tagsinput leben nicht zusammen

$('.js_tags').typeahead({ 
      minLength: 3, 
      source: function (query, process) { 
       return $.ajax ({ 
        url: '/app/route', 
        type: 'POST', 
        data: 'query='+query, 
        dataType: "json", 
        async: true, 
        success: function (data){ 
         process(data); 
        }, 
        error: function (request, status, error) { 
         console.log(request.responseText); 
        } 
       }) 
      } 
     }); 

wie kann ich mein Skript in einem tagsinput implementieren?

habe ich versucht, mit diesem, aber ohne Erfolg:

$('.js_tags').tagsinput({ 
     typeahead:{ 
      minLength: 3, 
      source: function (query, process) { 
      return $.ajax ({ 
       url: '/app/route', 
       type: 'POST', 
       data: 'query='+query, 
       dataType: "json", 
       async: true, 
       success: function (data){ 
        process(data); 
       }, 
       error: function (request, status, error) { 
        console.log(request.responseText); 
       } 
      }) 
     }, 
}); 

i erhalten ein:

Uncaught TypeError: process is not a function 

Was kann ich tun?

habe ich versucht, ein paar Sachen, aber keiner von ihnen arbeitet ... ich will nicht andere Komponenten verwenden ..

Sie

danken
+0

Was Prozess ist() ??? –

+0

ist ein typeahead fn, um Elemente in seiner Bildlaufleiste zu verschieben. Wie können Sie typeahead und tagsinput zusammen implementieren? mit einem Ajax Post Call .. –

Antwort

0
$('.typeahead').typeahead({ 
    source: function (query, process) { 
     return $.get('/typeahead', { query: query }, function (data) { 
      return process(data.options); 
     }); 
    } 
}); 

Um JSON Daten wie diese zu verbrauchen:

{ 
    "options": [ 
     "Option 1", 
     "Option 2", 
     "Option 3", 
     "Option 4", 
     "Option 5" 
    ] 
} 

Für Tagsinputs

$('.tagsInput').tagsinput({ 
     minLength: 3, 
     typeahead: {     
      source: function(query) { 
      return $.get('/app/route').done(function(data){ 
       /*if you have add `content-type: application/json` in 
       server response then no need to parse JSON otherwise, 
       you will need to parse response into JSON.*/ 
       return $.parseJSON(data); 
      }) 
      } 
     } 
}); 

Hinweis: Daten zurückgeben nur in JSON

Verwandte Themen