Я новичок в yii. Я пытаюсь создать два зависимых dropdownlist с одним значением dropdownlist. Здесь, если я нахожу drop_list региона region_id, он должен обновлять имя и имя города cityname1 в одно и то же время. Я не знаю, как писать код для множественного вызова ajax. Ниже я вставляю код, что я пробовал.
<?php
echo CHtml::dropDownList('region_id','',
array(2=>'New England',1=>'Middle Atlantic',3=>'East North Central'),
array(
'prompt'=>'Select Region',
'ajax' => array(
'type'=>'POST',
'url'=>Yii::app()->createUrl('site/loadcities'),
'data'=>array('region_id'=>'js:this.value'),
'success'=>'function(html)
{
jQuery("#city_name").html(html)
}' ,
array(
'type'=>'POST',
'url'=>Yii::app()->createUrl('site/loadcities1'),
'data'=>array('region_id'=>'js:this.value'),
'success'=>'function(html)
{
jQuery("#city_name1").html(html)
}' )
)));
echo CHtml::dropDownList('city_name','', array(), array('prompt'=>'Select City'));
echo CHtml::dropDownList('city_name1','', array(), array('prompt'=>'Select City'));
?>
заранее спасибо
Вам нужно будет написать другой запрос ajax самостоятельно. На самом деле, я предпочитаю хранить JS-логику отдельно от файлов вида, если это практично (там больше нескольких строк кода).
echo CHtml::dropDownList('region_id','',
array(2=>'New England',1=>'Middle Atlantic',3=>'East North Central'),
array(
'prompt'=>'Select Region',
'ajax' => array(
'type'=>'POST',
'url'=>Yii::app()->createUrl('site/loadcities'),
'data'=>array('region_id'=>'js:this.value'),
'success'=>'function(html)
{
jQuery(\'#city_name\').html(html)
}' ,
)));
echo CHtml::dropDownList('city_name','', array(), array('prompt'=>'Select City'));
echo CHtml::dropDownList('city_name1','', array(), array('prompt'=>'Select City'));
Yii::app()->clientScript->registerScript('regionChange', '
jQuery("#region_id").change(function(){
jQuery.ajax({
url: "' . Yii::app()->createUrl('site/loadcities1') . '",
type: "POST",
data: {region_id: this.value},
success: function(html) {
jQuery("#city_name1").html(html);
}
});
});
');