yii2 formwizard复选框字段和自定义预览步骤
我正在使用,我想在表格步骤中插入一个复选框作为字段yii2 formwizard复选框字段和自定义预览步骤,yii2,yii2-formwizard,Yii2,Yii2 Formwizard,我正在使用,我想在表格步骤中插入一个复选框作为字段是否合法的表单输入字段。 因此,在fieldConfigarray中,阅读文档时,我插入了以下代码: 'is_legal' => [ 'options' => [ 'type' => 'checkbox', ], 'labelOptions' => [ 'label' => \Yii::t('app', 'Legal Representative'),
是否合法的表单输入字段。
因此,在fieldConfig
array中,阅读文档时,我插入了以下代码:
'is_legal' => [
'options' => [
'type' => 'checkbox',
],
'labelOptions' => [
'label' => \Yii::t('app', 'Legal Representative'),
],
],
下图显示了结果:
但是,当我执行预览步骤时,我看到复选框的字段设置为未定义:
事实上,当我试图保存模型时,是合法的
字段没有设置
第一个问题:复选框表单字段的问题在哪里
第二个问题:有没有办法自定义预览步骤?例如,我想写“法律数据”,而不是“步骤5” 我创建了这个小部件,您需要知道一些事情
第一个答案
- 它显示的
未定义
不是值
,而是复选框的标签
,如果查看formwizard.js
文件中的函数,它会查找标签
的输入
字段的同级并获取其文本
let text = $('#' + fieldName).siblings('label').text();
显示在预览步骤上,默认情况下,Yii2将输入包装在标签中
<label><input stype="checkbox"></label>
第二个答案
- 不,目前该小部件不支持预览步骤部分的自定义标题,但我认为我可以添加对提供标题标题的支持,因为它也有意义,如果这可以解决您的问题的话
更新
忽略上面给出的第二个答案,我刚刚将更新推送到live branch,现在您可以使用步骤设置中的预览
选项。通过运行composer Update
更新您的composer,以更新到最新版本,并使用CTRL+F5清除缓存
请参阅下面的示例代码如何使用previewHeading
选项
use buttflattery\formwizard\FormWizard;
echo FormWizard::widget([
'enablePreview'=>true,
'steps'=>[
[
'model'=>$user,
'title'=>'My Shoots',
'previewHeading'=>'My Heading Step 1',
'description'=>'Add your shoots',
'formInfoText'=>'Fill all fields'
],
[
'model'=> $profile,
'title'=>'My Shoots',
'previewHeading'=>'My Heading Step 2',
'description'=>'Add your shoots',
'formInfoText'=>'Fill all fields'
],
]
]);
非常感谢你的帮助!然而,现在我有了与这两个问题相关的其他问题:第一个问题:我注意到,当我取消选中复选框时,is_legal
字段的值始终为1,如第二个问题所述:我在上一个版本更新了小部件,运行了composer update
。但是,我没有看到第一个问题图片上显示的任何变化@johnnymondo您应该删除app/web/assets
文件夹中的所有内容,并清除缓存以加载最新文件,我在将其推到live之前已经对其进行了测试,您可能在页面中加载了旧的javascript资产,这就是原因,我将检查与是否合法显示1的值相关的另一件事,即使在我到家后没有选择,你也可以创建一个单独的问题,并在新问题中添加对此帖子的引用,我会尽快调查并回复,如果您在问题中提到的初始问题已解决,您可以标记此答案。我尚未删除app/web/asset文件夹。现在预览步骤已确定。对于复选框问题,我创建了。