2011-01-12 11 views
0

jQuery에서 드롭 다운 값을 캡처하는 클릭 이벤트를 작성하려면 어떻게해야합니까? 나는 가지고있다 :jquery에서 드롭 다운 값 가져 오기

var select = $('select #dealerName'); 
    $(function { 
     select.click(function { 
      alert($('#dealerName').val()); 
     }); 

    }); 

나는 가치를 얻는 것을 시도하고있다 - 그래서 나는 그것을 경고하고있다. 클릭 기능은 어떤 모양입니까? 내 드롭 다운의 ID는 "dealerName"입니다. 위는 아무 것도 경고하지 않습니다.

답변

5

당신이

var select = $('select#dealerName'); 

해야 제대로

var select = $('select #dealerName'); 

을 선택하지 않을 있기 때문에하지만 ... 난 당신이 선택 후 값을 얻으려면 겠지? 드롭 다운을 열 자마자 경고 메시지가 나타납니다. 대신 .click()를 사용

.change()

편집을 사용 개인적으로 난 그냥 개체에 직접 핸들러를 첨부 할 것.

$('select#dealerName').change(function() { 
    alert($(this).val()); 
} 
+0

아무것도 알려하지 않습니다. jquery가 전혀 호출되지 않았는지 확인하려면 어떻게 테스트 할 수 있습니까? – sehummel

+0

업데이트 된 답변, 그냥 개체에 직접 호출 할 것입니다. – jondavidjohn

+0

또한 함수 호출은 펑키하게 보입니다. $ (function() { –

0

이 잘 나는 몇 가지 가능한 오류를 참조하십시오

은 첫 번째 줄의 선택에 공간을 제거합니다.

select#dealername 

즉 "dealername의 ID를 가진 선택 태그"를 의미합니다. 귀하의 버전은 "select 태그의 자식 인 dealername"요소입니다.

또한 인라인 함수를 작성할 때는 function 키워드 뒤에 put()을 사용하십시오.

1

5 가지 :

  1. 당신의 자바 스크립트 코드가 문서의 하단에하지 않는 한, 당신은 $ 내부 모든 당신의 jQuery를 포함해야합니다 (함수() {}); - 지금 바로 DOM을 액세스 할 준비가되기 전에 선택 항목을 찾으려고합니다.

  2. <select> 요소의 ID가 #dealerName 경우

    , 당신의 jQuery를 선택기 $ ('#의 dealerName')가 될 것입니다 - 그것은 바로 지금처럼 사용자가 지정한 ID와 <select>에 후손을 찾고 있습니다. 또한 # dealerName을 선택하기를 원하지 않습니다. ID는 고유해야하며 태그가 jQuery의 작동을 느리게 할 것임을 지정하기 때문입니다.

  3. click은 새로운 옵션을 선택했을 때와 달리 누군가가 선택을 클릭하자마자 실행됩니다. 당신은 아마 거래의 너무 큰되지

  4. change을 원하지만 신속하게 jQuery를 감싸 무엇인지 알 수 있도록 시작 부분에 $와 jQuery를 래퍼를 참조 변수에 이름을 약간 대중적인 규칙이있다.이벤트 내부

  5. 빠르게 따라서 동작하는 예제가 될 것 this

와 문제의 요소를 참조 할 수 있습니다 전화 :

$(function() { 
    $('#dealerName').change(function() { 
     alert($(this).val()); 
    }); 
}); 
관련 문제