我正在使用可编辑小部件(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/