【发布时间】:2014-01-21 21:56:10
【问题描述】:
我看到this wiki 使用带有更新选项的 ajax 调用填充城市的下拉列表,具体取决于包含国家/地区的另一个下拉列表的值。我需要实现类似的东西,但我的下拉列表依赖于两个下拉列表:
<div class="row">
<?php echo CHtml::label('Countries', 'country_id'); ?>
<?php echo CHtml::dropdownlist('country_id', '',$countries); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'globaladmin'); ?>
<?php echo $form->dropDownList($model,'globaladmin',User::itemAlias('AdminStatus')); ?>
<?php echo $form->error($model,'globaladmin'); ?>
</div>
用户必须选择一个国家,然后只有在第二个列表中选择“否”时,必须使用城市信息填充新的下拉列表(就像在 wiki 示例中一样)。
正如我所说,它与示例类似,但新的下拉列表取决于 2 个值(在第一个列表中选择的国家的 id 以及是否在第二个列表中选择了“否”)。我该如何解决?
编辑:再解释一下
在示例中,包含 ajax 调用的国家/地区下拉列表如下:
echo CHtml::dropDownList('country_id','', array(1=>'USA',2=>'France',3=>'Japan'),
array(
'ajax' => array(
'type'=>'POST', //request type
'url'=>CController::createUrl('currentController/dynamiccities'), //url to call.
'update'=>'#city_id', //selector to update
)));
我无法在我的country 列表中定义这样的 ajax 调用,因为我必须等待第二个保管箱的值。只有在此列表中选择“否”时,才会执行 ajax(并填充并显示 city 下拉列表)。如果选择“是”,则必须隐藏 city 下拉列表。
【问题讨论】:
-
我不明白问题出在哪里,您不能将您的第一个和第二个下拉值添加到您的第三个 ajax 请求中吗?
-
@AliMasudianPour 如果您看到该示例,填充
city下拉列表的ajax 调用属于country下拉列表。在这里我不能这样做,因为我需要globaladmin下拉列表的值。