【问题标题】:Yii2: Passing dropdownlist selected value from _search to indexYii2:将下拉列表选择的值从_search传递到索引
【发布时间】:2018-04-02 03:37:55
【问题描述】:

我已将_search.php 中的年份搜索表单修改为下拉列表表单,如下所示:

<?= echo $form->field($model, 'year')->label('Year')
->dropdownlist($model->getYearsList(), ['prompt'=>'-- Select All Years --',]) ?>

<?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>

提交时,index.php 中的gridview 只显示所选年份的行。

如何将选择的年份从_search.php 显示到index.php 比如

< div><?php echo $selectedyear; ?>< /div>

【问题讨论】:

    标签: php yii2 parameter-passing dropdown search-form


    【解决方案1】:

    您可以从查询参数中获取它,在索引中写入下面的代码。

    $selectedyear=$_REQUEST['YourSearchModelName']['year'];
    

    编辑:从类 id 中查找类名

    $class_data=Class::find->where(['classid'=>$_REQUEST['YourSearchmodelName']['classid']])->one();
    $classname=$class_data->classname
    

    【讨论】:

    • 谢谢@Rajesh,这适用于上面的例子,但不适用于具有关系(作为外键)的下拉列表,例如= echo $form->field($model, 'classid')->label('Class') ->dropdownlist(ArrayHelper::map(Class::find() ->all(),'classid','classname'), ['prompt'=>'--选择类--',]); ?> ,只显示classid,不显示classname
    • 你需要使用查询从classid中找到类名
    • 哦,不,它仅在启动提交按钮时有效,但是当我第一次访问 proposal/index 时(尚未启动提交按钮),它让我错误:未定义索引:ProposalSearch,我该怎么办@Rajesh?
    • 这段代码指出了错误:$selectedyear=$_REQUEST['ProposalSearch']['year'];
    • 您在不接受原始答案或支持的情况下提出问题和问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多