2009-08-14 3 views
4

これは、これが私の「実際の」口座..ですここで対応してください Jeditable: how to set parameters based on dom element attributes_this_ Jeditableを使用して操作されたDOM要素の値に到達する方法?

の継続..です

私はjQueryのを有効にした別のdiv要素に異なるパラメータ値を代入しようとしていますプラグイン 'Jeditable'私はそれをacheiveするにはどうすればよい

..私はその何かがシンプル確信している..しかし、私はそれを把握することはできません、それは仕事を得ることができませんか?残念ながら

$('.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) 

答えて

12

、あなたのコードでthisを使用する場合、それが参照しています。これらの様々なスニペットは、上記の空のdivのために、次のdafaultプレースホルダーテキストを生成

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

は、次のDOM要素を考えますアクセスしようとしているjQueryオブジェクトではなく、パラメータのコレクションです。実行しようとしていることを達成するには、パラメータコレクションの外でjQueryオブジェクトを参照する必要があります。

のような何か:

$('.editme').each(function() { 
    var rel = $(this).attr('rel'); 
    $(this).editable('savedata.php', { 
     placeholder : "zzz" + rel, 
     }  
    ); 
}); 
関連する問題