2010-03-21 2 views
6

다음 코드는 선택 변경시 값을로드하려는 것이며, 또한 선택로드를 초기에 수행합니다 (FF는 '드롭'의 마지막 값을 저장하므로). 특정 상황에서 아래로).

함수의 선택 부분은 제대로 작동하지만 load2를 호출 어떤 이유로 직접 $('#select1').value의 값은 심지어 내가 부하 select1.value에 값이 직후 방화범에 DOM을 검사 할 때하지만, undefined입니다.

어떻게 select1.valueload2 기능이 준비 실행할 수 있습니까? $('#select1')의 모든 요소가 초기화되면 어떤 이벤트가 나옵니까?

$(document).ready(function() { 
    //Setup change hook 
    $('#select1').change(function(event) { 
     //Remove the old options right away 
     $('#select2').find('option').remove(); 
     //Load the new options 
     load2(this.value); 
    }); 

    //Do load for current value 
    load2($('#select1').value); 
}); 

답변

6

를 jQuery 오브젝트가 어떤 value 필드가 없습니다 AFAIK. 따라서, 나는 다음과 같은 문이 load2() 기능에 undefined의 값을 전달하는 기대 :

load2($('#select1').value); 

jQuery 오브젝트는, 그러나, val() 기능을 가지고있다. 또한

load2($('#select1').val()); 

, 당신은이 같은 DOM 필드 value에 액세스 할 수 있어야합니다 : 대신 있음을 사용해보십시오

load2($('#select1').get(0).value); 
+0

+1 내 파이어 폭스에서 작동합니다. – balpha

+0

완벽한, 감사합니다. –

1

내가 제대로 이해한다면, 당신은 값이 존재하는지 확인할 수 있습니다, 다음을 실행합니다

if ($('#select1').value) { 
    load2($('#select1').value); 
} 
+0

그 문제는 내 두 번째 선택 목록이되는, 채워지지 것입니다 정확하게 내가하려고했던 것 (그 목록을 채우는 것). –

관련 문제