Php 根据复选框显示字段
我有一个带有复选框字段的表单,我希望基本上当选中此复选框时,在下面显示一个字段 我不知道symfony的最佳实践是什么 表格生成器:Php 根据复选框显示字段,php,forms,symfony,twig,Php,Forms,Symfony,Twig,我有一个带有复选框字段的表单,我希望基本上当选中此复选框时,在下面显示一个字段 我不知道symfony的最佳实践是什么 表格生成器: public function buildForm(FormBuilderInterface $builder, array $options) { ->add('protected', 'checkbox', array( 'label' => 'Protected by a password ?',
public function buildForm(FormBuilderInterface $builder, array $options)
{
->add('protected', 'checkbox', array(
'label' => 'Protected by a password ?',
'required' => false,
'mapped' => false
))
->add('password', 'password', array(
'label' => 'Mot de passe',
'required' => false
))
}
因此,如果选中了字段“protected”,我想显示“password”字段。我会使用jquery来实现这一点 用css隐藏字段(我建议改为用类) 然后在jquery中:
$('#checkbox_id').click(function() {
$('.password_id')[this.checked ? "show" : "hide"]();
});
我希望这有帮助 为什么不使用jQuery?我想知道是否还有其他方法使用Symfony进程您可以使用Symfony表单事件,例如
FormEvents::POST\u SET\u DATA Event
(cf:),但您仍然需要刷新表单(使用ajax或重新加载页面)我不想刷新页面,我想在@Coussinsky动态地执行此操作,然后您必须在复选框上附加一个js事件,并使用ajax调用您的表单,以便在不重新加载页面的情况下重新加载表单(或使用nodejs)。谢谢您的回答,我最后决定也使用jquery来执行此操作
$('#checkbox_id').click(function() {
$('.password_id')[this.checked ? "show" : "hide"]();
});