2011-02-08 4 views
2

이것이 jQuery 1.4.2의 버그인지 잘 모르는 경우 - 이것이 작동하지 않는 이유를 알 수 없습니다.jQuery : attr()을 사용하여 라디오 버튼 확인이 작동하지 않습니까?

라디오 버튼을 선택해야합니다. attr({'checked':'checked'})을 사용하고 있는데, attr('checked':true)도 시도했지만 아무 것도 작동하지 않습니다. 하지만 아무런 변화가 없으면 동일한 라디오 버튼에 attr('title':'whatever')을 입력하면 매번 작동합니다.

누락 된 title 속성과 checked 속성간에 약간의 차이가 있습니까? 둘 다 일상적인 HTML 속성입니다. 그렇다면 왜 다른 하나는 작동하고 다른 하나는 작동하지 않습니까?

$('.formradiodiv').live('click', function() { 
     //remove checked radio btns 
     $('input', $(this).parents('#radiogroup')).each(function() { 
      $(this).removeAttr('checked'); 
    }); 
     $('input', $(this)).attr('checked', true); 
}); 

편집 :

여기에 코드입니다 좋아, 내가 그것을 가지고 생각합니다. 명백하게 그것은 모두 함께 일했다. 그리고 그것은 tukka tukka 땅 또는 무엇인가 일시적으로있는 나의 머리이었다.

jQuery가 내가 선택한 라디오 버튼에 jQuery가 "checked"attr을 추가했는지 확인하기 위해 파이어 폭스에서 내용을 강조 표시하고 오른쪽 클릭> 선택 소스보기를 선택했다. 이렇게하면 일반적으로 JavaScript에 의해 수행 된 DOM에 대한 모든 변경 사항이 표시되며 소스 코드에서 속성을 볼 것으로 예상됩니다.

이번에는 HTML 라디오 버튼이 CSS를 통해 숨겨졌습니다. 그것이 내가 처음에 필요로하는 이유입니다 - 나는 기본 라디오 버튼을 이미지로 대체 할 것입니다.

그래서 소스 코드에서 라디오 버튼에 checked 속성이 표시되지 않았으므로 jQuery가 올바르게 작동하지 않는다고 생각했습니다. 그러나 CSS 규칙을 제거하고 테스트를위한 버튼을 보여 주 자마자 실제로 제대로 검사되는지 확인했습니다. 그런가 말했다.

댓글을 작성해 주신 모든 분들께 진심으로 감사드립니다. 나는 모두 투표 할거야. 건배

답변

2

잽 : 나는 그 요소의 checked 속성을 설정할 때 <input> 확인란 이외의 요소, 그리고 그 무언가의 $('input', $(this)) 일치 다른 유형이 잘못 용의자. 잘

$("input:checkbox", this).attr("checked", "checked"); 
3

$('selector').attr('checked', true); 확실히 작동합니다.

편집 난 당신이 .attr() 기능을 위해 작동 할 객체 표기법 { 'key' : 'value' }를 사용 질문에 실현,하지만 당신은 괄호 '{...}를'밖으로 떠나고있다.

$('input', $(this)).is(':checked') 

가 여기에 도움이 될 수 link입니다 : 귀하의 예제를 해결하려면이 시도 $('selector').attr({ 'checked': true });

+0

을하지만,이 경우에는하지 않습니다

시도 만 상자를 확인하여 선택을 제한하는 (또한 당신이 선택 컨텍스트로 사용하는 경우 this을 포장 할 필요가 없습니다). 그것이 내 직책의 핵심이다. – bobsoap

+1

@bobsoap 내 편집 내용을 보았습니까?만약 당신이 가지고 있고 아직도 작동하지 않는다면 다른 곳에서 당신의 코드로 문제가 발생할 가능성이 높습니다. 나는 Sydenam을 추가해 주셔서 감사합니다. –

+0

당신이 맞습니다. 불행히도, 그렇지 않습니다. 여전히 작동하지 않습니다. 귀하의 의견에 감사드립니다! – bobsoap

1

이 필요합니다. 어둠 속에서

+2

그는 라디오 버튼을 선택 (확인 표시가되어 있는지 확인)하지 않고 (표시가되어 있음) 확인하고 (표시되어 있음) –

+1

제공된 링크는 라디오 버튼 확인 방법을 보여줍니다 – derek

관련 문제