Kartik Select 2 Multiple 不适用于动态表单

Posted

技术标签:

【中文标题】Kartik Select 2 Multiple 不适用于动态表单【英文标题】:Kartik Select 2 Multiple not working with Dynamic Form 【发布时间】:2017-06-28 08:10:40 【问题描述】:

我已尽一切努力解决动态表单的 Select2 问题,并且它正在工作。但在这种情况下,我需要在 Select2 中使用 Multiple 选项,这不起作用。

选择 2 个代码:

<div class="col-md-3">
 <?=
  $form->field($model_periodo, "[$i]id")->widget(Select2::classname(), [
   'name' => 'periodo_dropdown',
   'data' => ArrayHelper::map(Periodo::find()->all(), 'id', 'descripcion'),
   'options' => [
    'multiple' => true,
    'placeholder' => 'Seleccione a el periodo',
    'value' => '',
   ],
  ])->label('Periodo');
 ?>
</div>

注意:当我将 'multiple' 设置为 false 时,它​​工作得很好,因为我已经完成了 JS 更改。

提前谢谢你。

【问题讨论】:

这是您现在找到的解决方案吗?我现在处于这种情况,多个不工作。 遗憾的是,解决方案是改变客户端的需求,并将这两个小部件分开。 【参考方案1】:

我们处于同样的情况,我已经完成了以动态形式修复 Select2 的所有工作,但没有任何工作,加载图标一直在旋转,如果我单击添加新行按钮,它就不起作用

这是我在控制台中得到的

Uncaught Error: Syntax error, unrecognized expression: #tblinvsalidasdetprods-$i-cod_producto
at Function.Sizzle.error (jquery.js:1468)
at Sizzle.tokenize (jquery.js:2125)
at Sizzle.select (jquery.js:2546)
at Function.Sizzle [as find] (jquery.js:869)
at jQuery.fn.init.find (jquery.js:2792)
at jQuery.fn.init (jquery.js:2909)
at jQuery (jquery.js:75)
at htmlDocument.<anonymous> (create:1389)
at fire (jquery.js:3187)
at Object.fireWith [as resolveWith] (jquery.js:3317)

但是如果从我的代码中删除 [$i] 就可以了

<?= $form->field($newmddet, 'cod_producto')->widget
                            (
                                Select2::classname(),
                                [
                                    'data'          => ArrayHelper::map
                                    (
                                        TblInvProductos::find()
                                        ->Where(['cod_empresa'=>$codEmpresa,'cod_estatus'=>'1'])
                                        ->OrderBy(['cod_prod_visible'=>SORT_DESC])
                                        ->all(),
                                        'cod_producto','NomProdConcat'
                                    ),
                                    'language'      => 'es',
                                    'options'       => ['placeholder' => 'Producto'],
                                    'pluginOptions' => 
                                    [
                                        'allowClear' => false
                                    ],
                                ]
                            )
                            ->Label(false);
                        ?>

【讨论】:

以上是关于Kartik Select 2 Multiple 不适用于动态表单的主要内容,如果未能解决你的问题,请参考以下文章

YII2:kartik Select2

kartik\Select2 作为 yii2\grid 中的过滤器输入

select2 kartik 数值改为索引值

Kartik Select2 - 以编程方式更改多个

Kartik/Krajee Select2 未禁用

Kartik select2 yii2 - Select All and Unselected All 与 select, selection, unselect 事件无关