2011-11-04 4 views
4

정말 흥미로운 문제가 있습니다. 내 페이지의 모든 체크 박스를 선택 해제하려고합니다. 모든 체크 박스에는 "chkbx_"로 시작하는 ID가 있습니다.모든 체크 박스를 선택 취소하면 jquery를 사용하여 한 번만 작동합니다.

나는이 일을 시도 :

$('input[id^="chkbx_"]').removeAttr("checked"); 

와이 : 그것은 한 번만 작동

$('input[id^="chkbx_"]').attr("checked", false); 

! 두 번째로 무시당하는 것 같습니다.

기본적으로 라디오 버튼처럼 동작하도록 확인란을 만들려고합니다. 하나를 선택하면 매개 변수로 this (ref.)를받는 함수를 실행하고, 먼저 모든 체크 박스의 선택을 취소 한 다음 그 중 하나를 클릭합니다. 그들이 선택하는 경우

은 또한 모두가 볼 수 있도록 체크 박스를 통과하려면이 옵션을 사용하려고 시도했다 : 루프가 페이지의 첫 번째 체크 박스, 한 번만 실행 위의 4 개 확인란이 있습니다

$('input[id^="chkbx_"]').each(function() { ... }); 

에도 불구하고.

무엇이 잘못 되었나요? 감사합니다

+0

다른 코드는 어디에 사용합니까?이 확인란의 선택을 취소 하시겠습니까? –

+1

확인란을 라디오 버튼처럼 작동하지 마십시오. 이는 사용자 인터페이스 가이드 라인을 위반하는 것입니다. 실제 라디오 버튼을 사용하십시오. –

+1

문제점을 재현 할 수 없습니다. 이 문제를 해결할 수있는 방법은'prop'를 사용하는 것입니다 : prop ("checked", false);' –

답변

1

뭔가 다른 것이 틀림 없습니다. http://jsfiddle.net/nzmv8/

작품 미세 :

이 예를 스케치? :)

+0

나는 아직도이 문제가있다. 나는 ID가 중복 된 요소가있을 수 있다고 생각했지만 Firebug는 아무 것도 찾을 수 없습니다. GUID를 체크 박스 ID로 사용했습니다. 예를 들어, 내 체크 박스 ID는 다음과 같습니다. – bobetko

+0

chkbx_5f3300256 -... chkbx_707171e7-abb ... ID가 너무 길어서 jqury가 미쳐 버릴 수 있습니다. – bobetko

+0

당신의 GUID 삽입 시도 : http://jsfiddle.net/nzmv8/2/ - 여전히 작동하는 것 같습니다 :/충돌 할 수있는 다른 라이브러리를 실행하지 않았습니까? –

0

사용 대신 ATTR의 소품

  • $ ('입력 [ID =^"chkbx _"]() "체크"FALSE) 소품.;

  • $ ('input [id^= "chkbx _"]'). prop ("checked", true);

관련 문제