我试图找到一个优雅的解决方案来呈现数据原型复选框的值。
目前只有标签和名称的占位符。
<label class="checkbox required" for="foobar_form_networkDetails_programList___name__">
<input type="checkbox" id="foobar_form_networkDetails_programList___name__" name="foobar_form[networkDetails][programList][__name__]" required="required" value="1" />__name__label__
</label>
最后是
programPrototype = programListContainer.data('prototype');
programRow = programPrototype.replace(/__name__label__/g, programType);
programRow = programRow.replace(/__name__/g, programListIndex);
我可以字符串替换值="1",但这是一个hack。我希望替换占位符值。
所以我的选项是:
- 将数据原型字符串呈现给DOM,并对DOM执行操作,将值重置为我想要的值。
- 覆盖原型渲染(我不确定如何做到这一点)
这似乎是一个很常见的场景,所以我想知道我错过了什么?
更改复选框的值不应该在原型中完成,而应该在创建原型的类中完成。
这些原型是由某种类型类构建的,它告诉表单组件应该如何构建表单。您需要做的是更改此配置并设置复选框类型的值选项。
原来你不能在每个Symfony的复选框中使用布尔值(0/1)以外的任何值。
谢谢你的回答。