2012-12-05 21 views
1
<?php echo CHtml::dropDownList('Category', $model -> cate_id, CHtml::listData(Category::model() -> findAll(), 'id', 'name'), array('empty' => 'Select Category','submit'=>array('advert/loadAdvert','id'=>'5'))); ?> 

下拉变化获取所选的下拉列表值和,而不是硬编码ID, 我必须把id的那个值。与ID呼吁行动警予

public function actionloadAdvert($id) { 
    $issueDataProvider = new CActiveDataProvider('Advert', array('criteria' => array('condition' => 'cate_id=:cate_id', 'params' => array(':cate_id' => $id),), 'pagination' => array('pageSize' => 1,),)); 
    $this -> render('advertisement', array('model' => Advert::model(), 'issueDataProvider' => $issueDataProvider,)); 
} 

什么是学习yii的最佳书籍或资源。

+0

你的问题真的不清楚。你有输出下拉列表的代码,然后是一个呈现广告视图的函数。然后,您询问获取选定的下拉列表值 - 您是否试图将下拉列表中的值传递给您的函数?如果是这样,你的具体问题是什么?提交表单?阅读表单数据?试图用ajax做到这一点?从表单中获取价值?我们可能需要查看您的提交代码以及处理提交的控制器方法。 – ernie

回答

1
<?php 
echo CHtml::dropDownList(
    'Category', 
    $model->cate_id, 
    CHtml::listData(Category::model()->findAll(), 'id', 'name'), 
    array(
     'empty' => 'Select Category', 
     'onchange' => 'document.location.href = "/advert/loadAdvert/id/" + this.value', 
    ) 
); 
?> 
+0

我们如何在yii2中实现这一点? @JonathanStevens –