{% for activity in form.activity %} {% if (activity.isChecked) %} <div> {{ form_Widget(activity) }} {{ form_label(activity) }} </div> {% endif %}{% endfor %}
活动是表单构建器中的实体字段:
->add('activity','entity',array( 'class' => 'AcmeProspectionBundle:Activity','expanded' => true,'multiple' => true,'property' => 'name',/* 'query_builder' => function(EntityRepository $er) use($options) { return $er->createqueryBuilder('ac') ->leftJoin('ac.company','c') ->where('c = :ID') ->orderBy('ac.name','ASC') ->setParameter('ID',$options['company_ID']); }*/))
事实上,如果我不评论query_builder部分,它将只生成已检查的部分,但如果我这样做,Symfony将检查原始数组和提交数组的完整性.我无法添加任何新活动.事实上我通过这样的JavaScript生成选择:
<div data-prototype='<div> <input type="checkBox" checked="checked" value="100" placeholder="" name="acme_prospection_company[activity][]"> <label></label></div>'>
因为我有超过3000的选择,我不能使用原始复选框或选择让用户这样做.所以现在所有的工作都完成了,只需要渲染已检查的活动.我不知道怎么做.
解决方法 对于复选框,您应该使用:{% if form.activity.vars.data %}总结
以上是内存溢出为你收集整理的Symfony2验证在twig模板中选中的表单复选框全部内容,希望文章能够帮你解决Symfony2验证在twig模板中选中的表单复选框所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)