2011-01-16 7 views
1

HTML select 요소의 .change 상태를 확인하는 Jquery 코드가 있는데, select 요소가 변경되면 특정 라디오 버튼이 활성화되어 있는지 확인해야합니다.이 Jquery 코드가 실행되지 않는 이유는 무엇입니까?

$('#select_ele').change(function(){ 
    // 
    //... Doing all kind of fancy stuff here 
    // 
    if($('input[name="radio_button"]').val() == 'bp'){ 
     alert('YO'); 
    } 
}); 

그래서 'bp'라디오 버튼이 활성화되어 있다면 선택 확인이 변경됩니다. 그렇다면 경고합니다.

+0

코드를 $ (document) .ready 이벤트로 마무리하고 있습니까? (또는 줄임표 $ (function() {...});) –

+0

예, 모두 올바른 내용으로 싸였습니다. – arma

답변

4

코드는 항상이 선택되어 있는지 여부, 당신이 찾은 첫 번째 name="radio_button" 경기의 .val()을 줄 것이다.

대신 checked-selector(docs)을 사용하여 확인 된 값을 가져와야합니다.

$('input[name="radio_button"]:checked').val() == 'bp' 
+0

감사합니다. 내 문서의 다른 부분에서 checked selector를 사용했습니다. – arma

2

문서가로드되기 전에 코드가 실행 중일 수 있습니다.
따라서 선택자가 일치하지 않습니다 (문서가 아직 파싱되지 않았기 때문에). 스크립트가 아무 것도하지 않습니다. <script> 블록을 페이지 맨 아래로 이동하거나 $(function() { ... })으로 감 쌉니다. 문서로드 이벤트에서). .

($은 ('입력 [이름 = "BP가"]') (경우 ": 선택"

+0

doh ofc 나는 이것을 가지고있다 :) 어쨌든 방화범이 없으면 나를 잘못 던질 것이다. – arma

1

이 당신이 찾고있는 무엇을 생각) { 경고 ("요"); })

+0

값 = bp 이름이 아닙니다. 나는 5 개의 라디오 버튼에 걸쳐 공유되는 이름을 가지고있다. – arma

0

중간에이 코드를 입력하면 문제를 해결하는 데 도움이됩니다.

alert("Hello I am Working") 

이 외에도.

console.log(event.type); 
관련 문제