更改 DROPDOWN 1 时,需要获取ID并自动从 DROPDOWN 2 中选择一个选项并使用JQuery使其只读。
DROPDOWN 1 ===========
<div id="div_post_code" class="row text-label w250 inline " style="display: block;">
<?php echo CHtml::activeLabelEx($cssAtapsClient, 'suburb_id')."\n";?>
<?php $this->widget('application.components.SAutoComplete', array('width'=>200,
'model'=>$cssAtapsClient, 'parseData'=>true, 'matchContains'=>true,
'attribute'=>'suburb_id', 'data'=>$postCode, 'ddindicator'=>true,
'max'=>50,
'multipleSeparator'=>false
)); ?>
</div>
DROPDOWN 2 ===========
<div id="div_state" class="row text-label w250 inline " style="display: block;">
<?php echo CHtml::activeLabelEx($cssAtapsClient, 'state_id') ?>
<?php echo CHtml::activeDropDownList($cssAtapsClient, 'state_id', CHtml::listData($stateList, 'id', 'state'), array('empty'=>'- - Select State - -','id'=>'state_id', 'class'=>'long')); ?>
</div>
问题
在js中使用“change()”函数无法正常工作。
//将状态加载到下拉列表2
$('#CSSAtapsClient_suburb_id_input').change(function() {
}
被修改 我创造了一个jsfiddle http://jsfiddle.net/wtYW6/4/
屏幕截图 - &gt;通过冷杉
答案 0 :(得分:2)
这里是修改后的代码
$('#postcode').change(function () {
if ($('#postcode').val() == 0) {
$('#state').prop("disabled", true);
} else {
$('#state').prop("disabled", false);
}
});
你错过了一些事情......
1)您正在使用Id
进行选择并且没有使用#
$('postcode')
$('#postcode')
应该是$('#postcode').val()
2)其$('postcode').val
而非()
3)并且$('#state').prop("disabled", true)()
这是工作jsfiddle