【问题标题】:Yii2 dropDownList mark option selectedYii2 dropDownList 标记选项被选中
【发布时间】:2016-04-26 20:38:42
【问题描述】:

您好,我正在尝试创建一个包含选定值的下拉列表,但仍然没有任何进展,下拉列表正在渲染,但始终选择第一个选项。

$company_id = (int) $params['company_id'];
$options = [
    'options' => [
         $company_id => [
            'selected' => 'selected',
            'label' => 'test'
        ]
     ]
];
echo $form->field($model, 'company_id')->dropDownList($companies_list, $options);

该代码有什么问题?我编辑了我的代码并在我的选项中设置了 'label' => 'test' ,这有效,但仍然没有选择

找到好的解决方案,在我在 renderSelectionOptions 方法中找到的框架代码中:

$attrs = isset($options[$key]) ? $options[$key] : [];
$attrs['value'] = (string) $key;
$attrs['selected'] = $selection !== null &&
    (!is_array($selection) && !strcmp($key, $selection)
    || is_array($selection) && in_array($key, $selection));

所以我需要做的就是:

$model->company_id = $company_id;

渲染部分之前

【问题讨论】:

  • 作为一个建议,如果您已经回答了您的问题,请将其写为答案并接受它(这样其他人找到答案会更舒服)。
  • @szapio 我也面临同样的问题,你能解释一下如何为依赖下拉菜单执行此操作吗?请参阅下面的问题链接click here
  • @szapio 你能说我在哪里可以使用这两个代码 $model->company_id = $company_id;和 $attrs = isset($options[$key]) ? $options[$key] : []; $attrs['value'] = (string) $key; $attrs['selected'] = $selection !== null && (!is_array($selection) && !strcmp($key, $selection) || is_array($selection) && in_array($key, $selection));因为我也面临同样的问题

标签: drop-down-menu selected yii2


【解决方案1】:

仅供未来访问者注意:

如果您使用ActiveForm,则模型字段的值将用作选定值,但如果您不使用ActiveForm 并使用Html 帮助器生成下拉列表,则dropDownList 函数接受另一个参数@ 987654326@ 也是如此,您可以在其中传递要选择的值,如docs 中所述

【讨论】:

    【解决方案2】:

    请试试这个

    for ($x = 1; $x <= 40; $x++) {
           if ($x=="1"){
                $items[$x] = $x." week";
            }else{
                $items[$x] = $x." weeks";
            }
        }
    $weeks=28;
    <?= Html::dropDownList('s_id', $selection = $weeks, $items, ['prompt' => '--Choose Week--','class'=>'form-control']) ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多