2016-10-03 3 views
1

jQueryプラグインtagEditorを使用しています。このパラメータには、プレースホルダを入力できるパラメータがあります。しかし、私は特にJSコードを介してこれをハードコードする必要はありません、私は実際にフィールドplaceholder属性を介して値を動的に取得することを好むでしょう。jQueryプラグインにバインドされた要素の属性を取得します。

私は、これは使用して作業を取得するために管理:

$('#tags').tagEditor({ 
    placeholder: $('#tags').attr('placeholder'), 
}); 

しかし、再び、私はそれは私が二セレクタを追加して、ケースからプレースホルダを取得する場所における要素のidをハードコーディングしないことを好むだろう。

$(this)を使用して取得しようとしましたが、機能していないようです(値なし)。例:

$('#tags').tagEditor({ 
    placeholder: $(this).attr('placeholder'), 
}); 

...は空の値を生成します。

私はそれを取得したい要素にハードコードなしで値を取得する方法はありますか?

+0

あなたのコードである

$('#tags').each(function(){ $(this).tagEditor({ placeholder: $(this).attr('placeholder') }); }); 

を?何がポイント? – Ivan

+0

どういう意味ですか? '#tags'は元の_textフィールドの' id'です。これはtagEditorをバインドしています。元のテキストフィールドから 'placeholder'属性の値を取得しようとしていますので、tagEditorの' placeholder'パラメータの値として設定することができます。 – Brett

+0

それを持って、ただ見たことがないtagEditor – Ivan

答えて

1

このような何か試してください:あなたが原因eachにパフォーマンスを心配している場合は、ここで自分自身でプレースホルダを置き換える代替

$.fn.myTagfunc = function(callback){ 
    callback.apply(this); 
    return this; 
}; 

$(selector).myTagfunc(function(){ 
    $(this).tagEditor({placeholder:$(this).attr('placeholder') }); 
}); 
+0

優秀 - ありがとう! – Brett

関連する問題