1

我正在使用onchange event of select box带有 jquery 的。我display property = none在其他 div 中给出的更改。问题是当我从数据库中获取数据并将其设置在选择框中时,因此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');
    }
 }
});

现在我从数据库中获取数据并将其设置为 select patientType $('#patientType').val(data fetch From the database); 不能应用 onchange 事件应用并且不显示我的 roomInfo div 所以有可能或没有。或获得该方法的另一种方法。请帮忙。提前致谢。

4

3 回答 3

6

由于您手动更改了值。您需要触发选择框的 .change() 事件。请参考以下链接。

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

要不然

如果您通过 ajax 加载数据,请使用如下

$('#patientType').on("change",function() {
   //Your code here
});
于 2012-10-31T09:06:30.437 回答
3

在 jQuery 中设置更改事件:

$("#ddl").change(function(){
    alert($(this).val());
});
于 2012-10-31T10:07:40.697 回答
1

获取选择框的值并设置如下:

$("#patientType option[value='`OPD']").attr("selected","selected");
于 2013-03-09T07:17:51.867 回答