5

Non riesco ad integrare Bootstrap 3 typeahead con i tag input ma con oggetti come tag. Funziona se uso solo typeahead sul campo di input, ma se lo integro con i tag input allora non funziona e non ho nemmeno errori che sono davvero frustranti. Ecco il mio codice:Integra bootstrap 3 typeahead e tag input con oggetti come tag

var places = [{name: "New York"}, {name: "Los Angeles"}]; 
//this works 
$('input').typeahead({ 
    source: places 
}); 

//this doesn't 
$('input').tagsinput({ 
    freeInput: false, 
    confirmKeys: [44], 
    typeahead: { 
     source: places 
    } 
}); 

sto facendo qualcosa di sbagliato o si tratta di un bug?

Se qualcuno ha un esempio funzionante, apprezzerei molto l'aiuto, può essere typeahead.js invece di bootstrap 3 typeahead, ho provato ad usarlo e funziona, ma poi ho un problema dove Scelgo un'opzione suggerita da typeahead cliccando su invia l'intero modulo invece di accettare solo quell'opzione come tag.

risposta

6

È necessario associare il typeahead ai taginput tramite l'opzione typeahead! Questo è molto più facile (e ciò che lo docs suggests). Poi, se si map()places ad un array di stringhe funziona:

$('.tagsinput-typeahead').tagsinput({ 
    // other tagsinput options here 
    typeahead: { 
    source: places.map(function(item) { return item.name }), 
    afterSelect: function() { 
     this.$element[0].value = ''; 
    } 
    } 
}) 

demo ->http://jsfiddle.net/gm3a1s9k/1/

Avviso del afterSelect(), it is needed in order to clear the input.

+2

@Mario_Plantosar Chiedo perché questa risposta non è stata accettata. –

+1

Beh, questo è abbastanza diverso dai documenti, ma molto contento che tu abbia postato questo. – MeanGreen

+0

Dopo aver selezionato un'opzione e rimuoverlo dai tag di input. non darà accesso alla creazione di tag in input su testo libero inserito premendo la scheda o l'evento clic del mouse. Si prega di dare una soluzione. –

Problemi correlati