Come attivare scelto () per la mia casella a discesa
-
12-12-2019 - |
Domanda
Sto usando scelto () per implementare la mia casella a discesa.
Nella mia home page, ho impostato la casella a discesa come con il seguente codice
//Code in home template
.bookmark_questions
%select
%option{value: "xxxx"} xxxxxx
%option{value: "xxxx"} xxxxxx
%option{value: "xxxx"} xxxxxx
%option{value: "xxxx"} xxxxxx
//Code in home view
render: ->
$(@el).html @template()
@$('select').chosen()
@
.
Nella mia vista a casa, cerco di attivare scelto da "@$('select').chosen()
", tuttavia quando provo a eseguire il codice, ottengo il seguente errore
.questo.search_field [0] è indefinito
![]()
Qual è il modo giusto per attivare scelti per il mio caso?
Soluzione
So che questo è piuttosto vecchio, ma ho appena avuto quasi lo stesso problema e ciò che fissava il problema è stato in attesa di chiamare il plugin fino a quando i select
sono stati collegati al DOM
.
Altri suggerimenti
Backbone potrebbe chiamare render()
Prima che il DOM sia pronto, al momento della media, chosen
non riesce a trovare l'elemento che specifica.Ecco la mia soluzione:
In primo luogo, aggiungi un blocco Dom Ready all'estremità del file Coffee / JS, il livello superiore.
$ ->
$('.bookmark_questions select').chosen()
.
Quindi lascia indietro il backbone.View Tell chosen
per aggiornare gli elementi mentre la vista è pronta
render: ->
@$el.trigger('liszt:updated')
.