Yii2-可编辑小部件。不适用于少数小部件

标签 yii2

我正在使用可编辑小部件(2amigos/yii2-editable-widget 或 kartik-v/yii2-editable)。它工作正常,但是当我在 foreach 中尝试它时,它仅适用于第一个元素。我想为模型使用多个小部件。怎么解决呢?

这是代码:

foreach ($models as $model) {
    echo Editable::widget( [
        'model' => $model,
        'attribute' => 'name',
        'url' => 'site/rename',
        'type' => 'text',
        'mode' => 'pop',
        'clientOptions' => [
'            pk' => $model->id,
        ]
    ]);
}

最佳答案

我猜你必须为每个可编辑小部件设置一个唯一的 ID。看看小部件的 js 代码是如何嵌入的。

例如如果你使用kartiks小部件

 echo Editable::widget([
    'model' => $model,
    'attribute' => 'name',
    'type' => 'primary',
    'size'=> 'lg',
    'inputType' => Editable::INPUT_TEXT,
    'editableValueOptions' => ['class' => 'text-success h3'],
    'options'=> [
        'id'=>'name-editable'.uniqid(),
    ]
]);

关于Yii2-可编辑小部件。不适用于少数小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33116519/

相关文章:

Yii2 - 货币格式欧元

css - 如何在 Yii2 Gridview 中更改 1 行的背景

jquery - 为什么 GridView 过滤器在模式引导时不起作用?

javascript - 将 setInterval 函数时间保存在 yii2 的配置文件中

yii2 - yii.validation 未在 yii2 中定义错误

php - 如何查看当前 session 中的所有 session 变量

yii2 - 可以混合 where() 子句

php - 在 Yii2 搜索中比较匹配的数组索引值

validation - Yii2 如果记录已存在于数据库中,则在模型中添加规则

php - 如何在 Yii2 中将接口(interface)注入(inject) Controller 的构造函数