2012-10-31 6 views
1

jquery와 함께 onchange event of select box을 사용하고 있습니다. 변경시 다른 div에서 display property = none을 받았습니다. 문제는 데이터베이스에서 데이터를 가져 와서 선택 상자에 설정했을 때 onchange 속성이 주어진 값에 적용되지 않았기 때문입니다. 왜? 내 코드선택 상자의 온라인 이벤트

<select id="patientType" name="Patient_Type"> 
<option value="">--SELECT--</option> 
<option value="OPD">OPD</option> 
<option value="IPD">IPD</option> 
</select> 
<div id="roomInfo" clasas="inactive"></div> 

스크립트 이제

$('#patientType').change(function() { 
if ($('#patientType').val() == 'IPD') { 
    if ($('#roomInfo').hasClass('inactive')) { 
    $('#roomInfo').removeClass('inactive');// CSS Property Display None in this class 
    $('#roomInfo').addClass('active'); 
    } 
} else { 
    if ($('#roomInfo').hasClass('active')) { 
    $('#roomInfo').removeClass('active'); 
    $('#roomInfo').addClass('inactive'); 
    } 
} 
}); 

내가 데이터베이스에서 데이터를 가지고 있으며이 선택 patientType $ ('#의 patientType') 발을 (데이터가 데이터베이스에서 가져 오기)을 설정합니다.; onchange 이벤트 적용을 적용 할 수 없으며 내 roomInfo div 을 표시 할 수 없으므로 가능하지 않습니다. 또는 그 방법을 얻기위한 다른 방법. 도와주세요. 미리 감사드립니다.

+1

코드를 알려주십시오. –

+0

데이터베이스에서 데이터를 가져 오는 방법은 무엇입니까? 그것은 아약스 또는 pageload입니다. –

답변

1

선택의 가치를 얻을 박스를 다음과 같이 설정하십시오 :

$("#patientType option[value='`OPD']").attr("selected","selected"); 
5

값을 수동으로 변경했습니다. 선택 상자의 .change() 이벤트를 트리거해야합니다. 다음 링크를 참조하십시오.

http://api.jquery.com/change/

또는 다른

당신이

$('#patientType').on("change",function() { 
    //Your code here 
}); 
+0

"jQuery 1.7에서'.live()'메소드는 더 이상 사용되지 않으므로'.on()'을 사용하여 이벤트 핸들러를 첨부하십시오." - http://api.jquery.com/live/ –

3

jQuery를에 변경 이벤트를 설정 다음과 같이 아약스 사용을 통해 데이터를로드하는 경우 :

$("#ddl").change(function(){ 
    alert($(this).val()); 
});