2011-03-13 5 views
2

나는 어떤 형태의 UI 코딩 작업이 jQuery를 한 줄 썼다 해요 :.왜이 jQuery 한 줄자는 어떻게 될까요?

$ ('입력 [유형 = 텍스트]') 발 ($ (이) .attr ('기본 값 '));

의도는 모든 입력 텍스트 필드에 속성 내에서 제공되는 기본값을 제공하는 것입니다.

제안 사항? TIA

답변

3

시도 :

$('input[type=text]').each(function() { 
    $(this).val($(this).attr('default-value')); 
}); 

당신의 문제는 $(this)는 당신이 그것을 사용 된 문맥에서 정의되지 않은 것입니다 그것은 this의 상황 때문에 작동하지 않습니다

+0

고마워요. : D – famagusta

-1

올바르게 요소를 참조하지 않기 때문에 ...

는 즉시 $(this)의 현재 범위 대신에 당신이 얻고있는 요소에 입력의 발을 할당한다.

$(":text").each(function() { $(this).val($(this).attr('default-value')); }); 
+1

당신의 함수에서 수익이 누락 된 것 같아요 ... – Chandu

+0

그래, 이건 작동하지 않습니다, jQuery API를 참조하십시오 : http://api.jquery.com/val/ – kevmo314

2

. 네가 기대하는 바가 아니야. 이 시도 :

$('input[type=text]').each(function(){ 
    var $this = $(this); 
    $this.val($this.attr('default-value')); 
}); 
+0

Simplecoder도 감사합니다. – famagusta

1

을 내가 원하는 생각 : 당신의 val() 전화 내부

$('input[type=text]').val(function(i,e) { return $(e).attr('default-value'); });

5
$('input[type=text]').each(function() { 
    $(this).val($(this).attr('default-value')); 
}); 

this이 요소를 참조하는 것이 아니라, 단순히 함수의 문맥의 위치를 ​​' 이 한 라이너를 다시 실행하십시오.

또한 맞춤 속성을 정의 할 때 이전에 HTML5에 투자하는 것을 고려하고 "데이터 - *"규칙을 사용하는 것이 좋습니다. HTML5에서는 접두어가 "data-"인 경우 맞춤 속성을 정의하는 것이 적합합니다. 그래서 "default-value"대신 "data-default"와 같은 것을 사용할 것입니다.

+0

데이터가있는 좋은 팁. – Nic

+0

HMTL5 규칙과 마찬가지로 : 이것은 선택할 수없는 광산입니다. 어쨌든 가져와 주셔서 감사합니다. – famagusta

관련 문제