2012-10-24 8 views
0

체크 아웃이 바이올린 버그가 : http://jsfiddle.net/5rmEe/선택 취소 라디오 버튼

목표는이

체크되어 있지 않은 경우를 사용자가 클릭 할 때이 선택된 경우 라디오 버튼의 선택을 취소하고 확인하는 것입니다하지만 그것은 나타납니다 클릭 이벤트가/점검을 매우 버그가 .... 선택을 취소, 두 번 트리거 것을

나는

e.stopPropagation(); 
e.preventDefault(); 

공동의 조합을 시도 하지만 각각 다른 버그가 발생합니다 ...

어떻게이 목표를 달성하고 해당 코드를 수정합니까?

+1

나는 혼란 스럽다. 라디오 버튼이 기본적으로 작동하는 방식입니다. 너 뭐하려고? –

+0

기본적으로 선택하지 않은 라디오 버튼을 클릭하면 선택 취소되지 않습니다 ... 클릭하면 선택을 취소하려고합니다. – pillarOfLight

+1

오른쪽. 그렇다면 체크 박스를 사용하지 않는 이유는 무엇입니까? –

답변

3

나는 그 밖의 모든 사람들에게 체크 박스가 더 좋을 것이라고 동의한다.

그러나 여기에 나와있는 것은 사용자에게 도움이 될만한 내용입니다. 먼저 체크 된 속성이 라디오 버튼에 표시되어 체크 표시됩니다. 따라서 검사를 제거하려면 속성을 제거해야합니다. 그러나 라디오 버튼을 클릭하면 속성을 다시 넣으려고합니다.

내 솔루션은 실제로 해킹입니다. 나는 다른 속성을 추가하고 이것을 체크 플래그를 사용하여 checked 속성을 제거할지 추가 할지를 결정합니다. HTH

$('input[type=radio]').each(function(){ 
    var input = $(this); 
    input.click(function(e){ 
     if(input.attr('cval')==='1'){ 
      input.attr('cval', '0'); 
      input.removeAttr('checked'); 
     } 
     else{ 
      input.attr('cval', '1'); 
      input.attr('checked', 'checked'); 
     } 
    }); 
});​ 
+0

숨겨진 필드를 사용하여 라디오 버튼의 원하는 상태를 추적하도록 제안하려고했습니다. 대신에 속성을 설정하는 것을 생각하지 마십시오. 훌륭한! – Bender

0

당신은 체크 박스가 있어야합니다. 표준 컨트롤의 동작 방식에 대한 사용자의 기대와 어울리는 것은 좋지 않은 아이디어입니다.

+0

알아요,하지만해야합니다 라디오 버튼을 사용하십시오 (내 결정이 아님) ... plz 그냥 라디오 버튼 ....에 대한 답변 플러스 그건 사실이 아니야, 확인란을 사용하여 사용자가 여러 확인란을 확인할 수 있음을 암시하면서 라디오 버튼을 사용하면 한 번만 확인하도록 허용합니다. 실제로 차이가 있습니다 ... 어쨌든, 확인란을 사용할 수 없으므로 plz 라디오 버튼을 누르십시오 – pillarOfLight

+0

그 중 하나를 들어 본 적이 있다면 순환 논쟁입니다. –

+0

아니오 (원형 인수가 무엇인지 알고 있다고 가정) – pillarOfLight

1

확인란을 라디오 버튼처럼 보이게하지 않는 이유는 무엇입니까? 그렇게하면 두 가지의 장점을 누릴 수 있습니다. 이 개념에 대한 검색을 시작하면

http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/

거기 밖으로 많은의 예를 있습니다) 그들이 의도 한대로 확인란을 사용하고 당신의 상사는 여전히 실마리가되지 않습니다. 당신은 여기서 반대를 원할 것이지만 그 예는 동일합니다.

Can you style an html radio button to look like a checkbox?

관련 문제