2010-05-30 6 views
5

Obiettivo: Per implementare un plug-in jQuery per la mia app per rails (o scriverne uno anch'io, se necessario) che crea una "casella" attorno al testo dopo che un delimitatore è stato digitato.Come implementare un plug-in di tagging per jQuery

Esempio: Con codifica su SO, l'utente inizia a digitare un tag, quindi ne seleziona uno dall'elenco a discesa fornito. Il campo di input riconosce che un tag è stato selezionato, inserisce uno spazio e quindi è pronto per il tag successivo. Allo stesso modo, sto tentando di usare this plugin per mettere un riquadro attorno al tag inserito in precedenza prima di passare ad accettare il tag/input successivo.

Le istruzioni nel README.txt sembrano abbastanza semplice, ma ho ricevuto un

$ ("tagbox"). Tagbox non è una funzione

errore durante il debug mia app con firebug.

Ecco quello che ho tra le application.js:

$(document).ready(function(){ 

    $('.tagbox').tagbox({ 
     separator: /\[,]/ // specifying comma separation for <code>tags</code> 
    }); 

}); 

Ed ecco la mia _form.html.erb:

<% form_for @tag do |f| %> 
    <%= f.error_messages %> 
    <p> 
    <%= f.label :name %><br /> 
    <%= text_field :tag, :name, { :method => :get, :class => "tagbox" } %> 
    </p> 

    <p><%= f.submit "Submit" %></p> 
<% end %> 

ho omesso qualche altro codice (vale a dire l'attuazione di un plugin di completamento automatico) esistente all'interno del mio _form.html.erb e application.js per motivi di leggibilità. L'inclusione o l'esclusione di questo codice omesso non influisce sulle prestazioni di questo plug-in.

Ho incluso tutti i file necessari per il plugin tagbox (oltre a application.js dopo tutti gli altri file JS inclusi) all'interno del javascript_include_tag nel mio file application.html.erb.

Sono quasi del tutto confuso sul motivo per cui otterrei questo errore "non a funzione" quando jquery.tagbox.js definisce chiaramente la funzione ed è incluso nella parte iniziale della mia pagina html in questione. Ho lottato con questo plugin più a lungo di quanto vorrei ammettere, quindi qualsiasi aiuto sarebbe davvero apprezzato. E, naturalmente, sono aperto a qualsiasi altro plugin o suggerimento da zero che potresti avere in mente ..

Questo plug-in di tagbox non sembra avere una ricchezza di documentazione o di esempi attualmente funzionanti.

Inoltre, sto cercando di evitare l'utilizzo di jrails.

Grazie per il vostro tempo

+0

Sei * sicuro * che "jquery.tagbox.js" viene caricato correttamente? – James

+0

Ti stai riferendo se in realtà finisce per essere incluso nel blocco Head della mia vista html? Se sì, sì a quella domanda .. – anxiety

+0

Basta usare un altro plug-in di tag jQuery. – stagas

risposta

2

Assicurarsi che si sta caricando il plugin e Jquery nell'ordine corretto. Caricamento del plugin prima che Jquery possa causare questo tipo di errore. Inoltre, assicurati che il plug-in sia compatibile con la versione di JQuery che stai utilizzando. Se tutto ciò è corretto, farei una semplice funzione JQuery per assicurarmi che il tuo percorso sia corretto. Altrimenti, usa firebug e prova a rintracciare dove il carico sta fallendo.