【发布时间】:2017-06-19 08:30:41
【问题描述】:
我在索引中有两个dropDownlist,当我选择提交按钮时,它将在控制器中执行一些操作并再次使用gridview渲染索引,但是Selected dropDownList变为空白,我该如何设置默认值下拉列表??
任何建议都应该受到赞赏... 这是我的看法
<div class="col-sm-12" align="center">
<?= $form->field($model, 'fk_int_payroll_month')->dropDownList(
ArrayHelper::map(TblPayrollMonth::find()->all(), 'pk_int_payroll_month_id','vchr_month'),
['prompt'=> 'Select...'])
?>
</div>
<div class="col-sm-12" align="center">
<?= $form->field($model, 'fk_int_payroll_year')->dropDownList(
ArrayHelper::map(TblPayrollYear::find()->all(), 'pk_int_payroll_year_id','year'),
['options' => [isset($_POST['fk_int_payroll_year'])?'fk_int_payroll_year':'' => ['Selected'=>true]]],
['prompt'=> 'Seect...'])
?>
</div>
这是我的控制器
public function actionDisplay()
{
$model = new TblPayroll();
if(Yii::$app->request->post()!=null)
{
$data = Yii::$app->request->post();
// var_dump($data);
// die;
$month = $data['TblPayroll']['fk_int_payroll_month'];
$year = $data['TblPayroll']['fk_int_payroll_year'];
/* Be careful with this! */
$dataProviderSearch = new ActiveDataProvider
([
'query' => TblPayroll::find()->where(['fk_int_payroll_month'=>$month, 'fk_int_payroll_year'=> $year]),
'pagination' => ['pageSize' => 5],
]);
if($dataProviderSearch)
{
return $this->render('index', [
'dataProviderSearch' => $dataProviderSearch,
'model' => $model,
]);
}
}
else{
return $this->render('index', ['model' => $model]);
}
当我选择下拉列表时,它会得到 actionDisplay,并找到数据提供者,然后再次渲染到索引,这样我如何在 dropDownlist 中显示默认选择值?
【问题讨论】:
-
这些下拉菜单与
$model相关联,因此它们具有各自模型字段的值 -
我只得到一个值,如何定义我的选项
-
assingn 默认值与模型有关..请更新您的问题并添加您的相关控制器/操作代码
-
@scaisEdge 请检查一下
标签: yii2