2011-07-05 4 views
1

이미 체크 된 라디오 버튼을 두 번째로 클릭하는 것을 방지하려면 어떻게해야합니까?체크 된 라디오 버튼에서 두 번째 클릭을 방지하는 방법은 무엇입니까?

이데아는 동일한 라디오 버튼으로 다시 클릭 할 가능성을 부인합니다.

감사합니다, RG

+0

을 제공하십시오? – rahul

+0

나는 맞춤형 카트 시스템을 구축하고 있기 때문에 라디오에서 항목을 클릭하면 카트와 합계에 추가되지만 동일한 라디오 버튼에서 두 번 클릭 (두 번 클릭하지 않음)하면 해당 항목이 제거됩니다 하지만 총 라디오가 발생하지 않는 다른 라디오 옵션을 클릭 할 때만 업데이트됩니다. –

답변

0

라디오 버튼이

jQuery("#parentElement input:radio").attr('disabled',true); 

대신

를 클릭 할 때 실행되는 함수에이 같은 추가
input:radio 

당신이 수도 또한 라디오 버튼에 대한 특정 ID를 대상으로 지정하십시오. 이

('#example2').click(function(){ 
alert("handling radiobutton, complete!"); 
jQuery("#example1").attr('disabled',false); 
jQuery("#example2").attr('disabled',true);}); 

이와

<input type="radio" name="example1" id="example1"> 
<input type="radio" name="example2" id="example2"> 

은 조금 빠른 (그러나 nececerly 더러운되지 않음) 물론, 양식이 라디오 버튼의 알 수없는 번호를 가지고 있다면 당신은 루프를 여물한다.

+0

비활성화하면 값이 게시되지 않습니다. –

+0

올바른 값을 게시 한 후에 값이 실행되는지 확인하십시오. – Lg102

+0

글쎄,하지만 그가 클릭하면 사용자가 라디오 버튼을 한 번만 클릭 할 수 있도록 버튼을 비활성화 nedds –

1

이 전에 클릭 된 경우가 이벤트를 막을 수 : 또한이 기능을 사용 중지 할 수 있습니다

var clicked = false; 
$('input:radio.yourclass').click(function(event){ 
    if (clicked){ 
     event.preventDefault(); 
    } 
    clicked = true; 
}); 

,하지만이 값은 서버에 게시하지 않습니다 - 당신은 더 많은 버튼을 제어해야하는 경우가 있습니다 할, 당신은 왜이 문제를 방지하고 싶어 = 여기

예 마크 업 http://jsfiddle.net/LUkw9/1/

+0

두 번째 클릭시이 이벤트가 기본값보다 먼저 실행된다는 보장이 있습니까? –

+0

preventDefault()는 클릭의 기본 동작 (앵커에 대한 링크 다음에 제출 양식 제출)을 방지합니다. 두 번째 클릭은 분명히 첫 번째 작업 이후 (라디오 버튼을 누름) 기본 동작이 방지됩니다. –

+0

그러면 ' if (! clicked)'를 사용하여 첫 번째 클릭 처리 중에 기본값을 방지합니다.하지만이 방법을 사용하기 전에 기본 핸들러가 이미 작동했음을 보장해야합니다. –

관련 문제