2017-05-12 4 views
0

Ich habe einige Probleme mit Elementen, die außerhalb des Geltungsbereichs liegen oder etwas, aber ich bekomme keine Fehler, daher bin ich nicht wirklich sicher, wie ich es beheben kann. Ich habe meinen Code unten aufgeschrumpft, um relevante Informationen einzubeziehen.Elemente außerhalb des Geltungsbereichs?

(function(){ 

     var zdf = { 
      theme : $('#zdf_theme') 
     }; 


     zdf.setupPopup = function(){ 
     zdf.loadThemes(); 
     } 

     zdf.loadThemes = function() { 

     zdf.theme 
       .editableSelect({ 
        effects: 'slide' 
       }) 
       .on('select.editable-select', function(e, li) { 
        zdf.theme.attr("data-value", li.attr('value')); 
       }); 

    }); 
} 
}(); 

Hoffentlich habe ich genug Code zur Verfügung gestellt, das Problem zu identifizieren, aber im Grunde ist alles, bis die Linie

zdf.theme.attr("data-value", li.attr('value'));

Es scheint nicht, das Objekt zdf.theme

auswählen Aufarbeiten Wenn ich es durch den tatsächlichen Selektor $('#zdf_theme') ersetze, funktioniert es gut.

Die bearbeitbare Auswahl ist dieser Code-Basis https://github.com/indrimuska/jquery-editable-select

Jeder Eingang wäre toll!

+0

Wenn Sie 'console.log (zdf.theme)' in Ihrer loadThemes-Funktion verwenden, was zeigt es? Sie können auch 'this.theme' anstelle von' zdf.theme' verwenden. –

+0

Ich frage mich, ob Sie '$ (this)' anstelle von 'zdf.theme' in der .on-Prozedur verwenden könnten. – James

+0

Umfang ist in Ordnung. Versuchen Sie, .attr() zu .prop() zu ändern. Ich denke, es könnte ein Problem mit leeren Attribut sein. Lesen Sie mehr über attr() vs prop() hier: http://stackoverflow.com/questions/5874652/prop-vs-attr. Sie könnten auch .data ('value') verwenden. –

Antwort

0

Lösung ... editierbare Auswahl ersetzt meine Eingabe, so dass ich es nach der Initialisierung der bearbeitbaren Auswahl neu definieren musste.

Verwandte Themen