wbraganca / yii2-dynamicform值在编辑时复制到克隆字段,但不在创建时复制
我在Yii2项目中使用动态表单。 我想复制克隆字段中的值。 我观察到如果我使用编辑它是复制克隆字段上的值,但是当我使用create时不复制。
是这样设计的吗? 我怎么能做到这一点。 我想要复制的值的字段是一个选择字段。
我还观察到在yii2-dynamic-form.js
它包含如下代码:
$template.find('input, textarea, select').each(function() { $(this).val(''); });
是这段代码阻止值复制。 但我也试图评论相关代码,但没有成功。
该字段的相关html是这样的:
field($modelCustomBreakTime, "[{$i}]days")->dropDownList($days,['prompt'=>'select']) ?>
根据Muhammad Omer Aslam的评论中的链接建议代码
<?php $script= <<registerJs($script); ?>
您可以像下面一样绑定afterInsert
事件
$('.dynamicform_wrapper').on('afterInsert', function (e, item) { //code to copy values from the desired row/field set });
dynamicform_wrapper
是widgetContainer
小部件属性的值。并使用包含当前插入的面板/行的引用的item
。
因此,您需要将代码更改为以下内容,我无法通过运行来测试它,但希望它应该可以正常工作。
我假设您的字段名称是days
,并且生成的name
属性将类似于CustomBreakTime[]['days']
在必要时在下面的脚本中更改模型名称或属性名称
getShortName(); $script=<<registerJs($script, \yii\web\View::POS_READY); ?>