Home > php教程 > php手册 > Chtml中三级联动实例(Yii框架)

Chtml中三级联动实例(Yii框架)

WBOY
Release: 2016-06-06 19:33:01
Original
977 people have browsed it

Chtml中三级联动实例 Yii /*** 控制器中根据父类Id,查找到所有子类,并以listOptions的形式返回到页面:*/public function actionGetChildByParent($parent_id){ $parentId = $parent_id; if (!$parentId) { return array(); } $models = TicketCategory::mo

Chtml中三级联动实例 Yii
/**
* 控制器中根据父类Id,查找到所有子类,并以listOptions的形式返回到页面:
*/



public function actionGetChildByParent($parent_id)
{
    $parentId = $parent_id;
    if (!$parentId) {
        return array();
    }
    $models = TicketCategory::model()->findAllByAttributes(array('parent_id'=>$parentId));
    $listData = CHtml::listData($models, 'id', 'show_title');
    $htmlOptions = array('empty'=>'请选择');
    $result = Chtml::listOptions('', $listData, $htmlOptions);
    echo $result;
}
Copy after login
/**
* 视图中,用htmlOptions中的一个属性ajax完成ajax请求及处理:
*(由于updata参数只能替换一个节点,所以这里把第一个select的ajax成功函数用success来处理)
*/
<td><?php echo $form->labelEx($model,'cat_1_id'); ?></td>
<td>
    <?php echo $form->dropDownList($model, 'cat_1_id', TicketCategory::getCategoryArr(0), array("id"=>"Ticket_cat_1_id",'ajax'=>array(
        'type'=>'get',
        'url'=>Yii::app()->createUrl('ticket/getChildByParent'),
        'success'=>'function(html){$("#Ticket_cat_2_id").html(html).change();}',
        'data'=>array('parent_id'=>'js:this.value'),
    ))); ?>
</td>
<td width="120"><?php echo $form->error($model,'cat_1_id'); ?></td>
<td><?php echo $form->labelEx($model, 'cat_2_id'); ?></td>
<td>
        <?php echo $form->dropDownList($model, 'cat_2_id', TicketCategory::getCategoryArr($model->cat_1_id), array('onchange'=>'$("this").change()',"id"=>"Ticket_cat_2_id",'ajax'=>array(
            'type'=>'get',
            'url'=>Yii::app()->createUrl('ticket/getChildByParent'),
            'update'=>'#Ticket_cat_3_id',
            'data'=>array('parent_id'=>'js:$("#Ticket_cat_2_id").val()')
        ))); ?>
        <?php echo  CHtml::hiddenField('cat2Url',$cat2Url, array('id'=>'cat2Url')); ?>
</td>
<td width="120"><?php echo $form->error($model,'cat_2_id'); ?></td>
<td><?php echo $form->labelEx($model,'cat_3_id'); ?></td>
<td>
    <?php echo $form->dropDownList($model, 'cat_3_id', TicketCategory::getCategoryArr($model->cat_2_id), array("id"=>"Ticket_cat_3_id")); ?>
</td>
<td width="120"><?php echo $form->error($model,'cat_3_id'); ?></td>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template