2012-10-18 26 views
5

Ho già trovato alcune correzioni per questo problema, ma non sono specifiche per questo. Ho letto cose semplici come Sortable() deve essere in minuscolo. Ovviamente, non l'ho impostato come maiuscolo.Unchaught TypeError Object non ha alcun metodo 'ordinabile'

ho già avuto questo lavoro e poi improvvisamente ha deciso di sputare il seguente nella console Uncaught TypeError: Object [object Object] has no method 'sortable' on line: 210 che correspondes a:

 

    // Line 210 is below 
    $('.sortable').sortable({ 
     stop: get_post_order 
    }).disableSelection(); 
    // Check new order 
    function get_post_order() { 
     var post_list = [], pids; 
     $('.inner-pop-list li a').each(function() { 
      pids = $(this).attr('rel'); 
      post_list.push(pids); 
     }); 
     $('.export').attr('href', '?format=pdf&pids='+post_list); 
    } 

Va aggiornamento matrice post_list dopo l'elenco è stato riordinati. get_post_order non funziona affatto. Ho provato ad aggiungere la funzione direttamente nel stop: function() {...} ma ancora nessuna modifica.

Tutte le idee, sono abbastanza perplesso.

Grazie

+3

Sei sicuro che le tue librerie jquery e jquery-ui siano caricate correttamente? –

+0

Beh, funzionava prima e non ho cambiato nulla con quella parte del sito. Quindi sì, ne sono abbastanza sicuro. Farò il triplo controllo. – zilj

+0

Tutto sembra a posto. L'evento di trascinamento funziona, quindi suppongo che stia caricando .. – zilj

risposta

2

Risolto, a volte ottenere nuovi approcci da altre persone ti porta alla risposta. Grazie per l'aiuto. Mi ha fatto guardare l'intestazione del mio sito. Ho notato che avevo già aggiunto la dichiarazione sortable() nell'intestazione. Poi mi sono riferito di ordinarlo di nuovo in uno script esterno (che era la riga 210) causando un conflitto.

Quindi la risposta è, riferimento sortable() una volta!

1

E 'possibile che il codice JavaScript non è all'interno di $ (document) .ready, e viene eseguito prima biblioteca ui è stato caricato.

+0

L'ho provato, senza fortuna neanche .. – zilj

+0

Sembra che ordinabile non è definito, o non ancora caricato. Non so, ma è un errore tipico quando un modulo jquery non viene caricato. Quindi, forse il tuo jquery-ui non ha il modulo (ad esempio jquery-ui personalizzato), o il tuo codice viene eseguito prima che jquery-ui sia caricato. – Blazes

+0

Ho trovato la soluzione, vedi sotto. Grazie per il tempo e i commenti di tutti. – zilj

Problemi correlati