2010-04-23 1 views
2

이것이 가능한지 잘 모르겠지만 클럽 가입 전에 추악한 해결책을 묻습니다.JS에서 라디오 버튼의 이전/기본값을 찾는 방법은 무엇입니까?

내가 가진 것은 라디오 버튼 그룹이며 라디오 버튼 값이 변경되면 함수를 트리거하려고합니다. 예를 들어 Y 버튼을 기본으로 선택한 세 개의 버튼 X Y 및 Z가 있다고 가정 해보십시오. 사용자가 선택되지 않은 버튼 (예 : X 또는 Z)을 클릭하면 함수가 실행되지만 Y (여기에서 이미 선택되어 있음)를 클릭하면 아무 것도 발생하지 않습니다.

당연히 최상의 해결책은 onchange 이벤트에서 기능을 실행하는 것이지만 IE6는 초점이 만족스럽지 않은 요소에 도달 할 때까지 onchange를 실행하지 않습니다.

라디오 버튼의 이전 값이 무엇인지 또는 적어도 기본값이 무엇인지 알 수있는 방법이 있습니까? 쉽게 기본 값의 배열을 만들고이를 확인해 볼 수는 있지만 오버 헤드를 줄이려고합니다.

하시기 바랍니다없는 jQuery suggestions)

+5

jQuery 링크 +1! –

+0

불충분 한 방법은 먼저 선택된 클래스에 클래스를 추가하는 것입니다. class = "default"then'onBlur : this.notHasClass ('default') then doSomething' – SeanJA

답변

2

입력 요소의 defaultChecked 속성을 사용하십시오.

click 이벤트는 사용자가 스페이스 바/Enter 키를 사용하여 "확인"할 때도 발생하므로 click 이벤트를 사용할 수도 있습니다.

+0

이것은 승리였습니다. 나는 여기에 주목하고있다 : 거대한 성공. 내 만족도를 과장하기는 어렵습니다. – encee

+0

애매한 속성 ftw – SeanJA

0

글쎄, 당신은 입력 요소에하면 onMouseDown 이벤트를 사용할 수 있습니다. 그것은 당신이 요구하는 것을 할 것이며 (사용자가 클릭 할 때 이벤트 활성화), onmousedown으로 요소가 이미 선택되었는지 확인할 수 있습니다. 예 :

document.getElementById('#radio-button-x').onmousedown = function() { 
    if (this.checked == true) { 
     // was already selected 
    } else { 
     // not selected, do something 
    } 
};