2014-03-04 88 views
1

我有三个相互依赖的下拉列表。我希望能够将第三个DD设置为null,只要选择第一个下拉列表,但到目前为止,我的脚本没有做任何事情。它正在更新第二个DD,但不是第三个DD。下拉列表在使用依赖下拉菜单时不会更新onchange

当所有的DD都被设置并且我更新第一个DD时,它会更新第二个DD但不会将第三个设置为空。

这里是我的脚本:

echo CHtml::dropDownList('island_id',$island,$locationsList, 
      array('ajax'=>array('type'=>'POST', 
       'url'=>CController::createUrl('supplierHead/getRegions'), 
       'update'=>'#region_id',), 
       'id'=>'island_id', 
       'empty'=>'Choose Island', 
       'onchange'=>'$("#province_id").html("<option value=''>Choose Province</option>")' 
    )); 
echo " "; 
echo CHtml::dropDownList('region_id',$region, $regionsList, 
      array('ajax'=>array('type'=>'POST', 
       'url'=>CController::createUrl('supplierHead/getProvinces'), 
       'update'=>'#province_id',), 
       'id'=>'region_id', 
       'empty'=>'Choose Region', 
    )); 
echo " "; 
echo CHtml::dropDownList('province_id',$province,$provincesList, array('empty'=>'Choose Province')); 

回答

1

试试这个:

echo CHtml::dropDownList('island_id',$island,$locationsList, 
      array('ajax'=>array('type'=>'POST', 
       'url'=>CController::createUrl('supplierHead/getRegions'), 
       'update'=>'#region_id',), 
       'id'=>'island_id', 
       'empty'=>'Choose Island', 
       'onchange'=>'$("#province_id,#region_id").children().html("<option value=''>Choose Province/region</option>")' 
    )); 
+0

能不能请你解释一下什么是 '平变化' 正是这么做? –

+0

每次更改下拉列表中的选定选项时,都会触发onchange事件。因此,只要island_id中的选项发生变化,其他两个下拉列表的值将设置为“选择省份/地区” – Sayed

+0

因此,如果我只想要更改province_id下拉列表,我应该取出#region_id 'onchange'里面? 因为这就是我以前做过的事情,它根本没有反映任何变化。 –