2012-10-31 118 views
1

我正在使用jQuery的onchange event of select box。 在更改時,我在其他div中給出了display property = none。 問題是,當我從數據庫獲取數據並將其設置在選擇框中時,onchange屬性未應用於給定值。爲什麼? 我的代碼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')VAL(數據從數據庫中獲取)。 不能申請onchange事件適用,不能顯示我的roomInfo div 所以有可能與否。 或另一種獲取該方法的方法。 請幫忙。 提前致謝。

+1

請向我們顯示您的代碼 –

+0

如何從數據庫中提取數據?它是ajax還是頁面加載? –

回答

1

獲取選擇價值盒子,並像這樣設置:

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

由於您手動更改了值。您需要觸發選擇框的.change()事件。 請參閱以下鏈接。

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

否則

如果您加載通過Ajax使用的數據,如以下

$('#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()); 
});