Yii Несколько выпадающих списков

Вопрос:

Я новичок в 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);
            }
        });
    });
');

Оцените статью
TechArks.Ru
Добавить комментарий