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

코드는? 무슨 요점? – Ivan

+0

무엇을 의미합니까? '# tags '는 tagEditor를 바인딩 할 원래 _text field_의'id '입니다. 나는 원래의 텍스트 필드에서'placeholder' 속성의 값을 얻으려고하므로 tagEditor'placeholder' 매개 변수의 값으로 설정할 수 있습니다. – Brett

+0

, 그냥 본적이 없어. 태그 에디터 – Ivan

답변

1

시도 뭔가 :

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

당신이 성능 인해 each에 대해 고민하는 경우에, 여기에 자신과 자리를 대체하는 대안

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

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

우수 - 대단히 감사합니다! – Brett

관련 문제