2009-08-14 13 views
4

ist eine Fortsetzung der Jeditable: how to set parameters based on dom element attributesWie erreicht man den Wert des manipulierten dom-Elements mit _this_ Jeditable? Diese

Bitte antworten Sie hier .. das ist mein ‚echte‘ Konto ..

Ich versuche, verschiedene Parameterwerte verschiedenen divs zuweisen, auf dem ich aktiviert haben die jQuery Plugin 'Jeditable'. Ich kann es nicht zur Arbeit, ich bin sicher, es ist etwas einfaches .. aber ich kann es nicht herausfinden ..

Wie kann ich es erreichen?

die folgenden DOM-Element Gegeben:

<div class="editme" id="theone" rel="test"></div> 

Diese verschiedenen Schnipsel folgende dafault Platzhalter Texte für die oben leer div produzieren:

$('.editme').editable('savedata.php',{ 
    placeholder : "txt - "+$(this), 
    } 
); 
// outputs: "txt - [object Object]" 

$('.editme').editable('savedata.php',{ 
placeholder : "txt - "+this, 
} 
); 
// outputs: "txt - [object HTMLDocument]" 

$('.editme').editable('savedata.php',{ 
placeholder : "txt - "+$(this).html(), 
} 
); 
// outputs: "txt - undefined" 

$('.editme').editable('savedata.php',{ 
placeholder : "txt - "+$(this).attr('rel'), 
} 
); 
// outputs: "txt - undefined" 

$('.editme').editable('savedata.php',{ 
placeholder : "txt - "+this.attr('rel'), 
} 
); 
// outputs: "" (NULL/EMPTY STRING, must be due to error) 

Antwort

12

Leider, wenn Sie this in Ihrem Code verwenden es Referenzierung die Parametersammlung und nicht das jQuery-Objekt, auf das Sie zugreifen möchten. Um das zu erreichen, was Sie versuchen, müssen Sie das jQuery-Objekt außerhalb der Parameterauflistung referenzieren.

Etwas wie:

$('.editme').each(function() { 
    var rel = $(this).attr('rel'); 
    $(this).editable('savedata.php', { 
     placeholder : "zzz" + rel, 
     }  
    ); 
}); 
Verwandte Themen