comment afficher/masquer des champs sous symfony

Par tibari, il y a 4 ans


Décrivez ici votre problème ou ce que vous cherchez à faire.
bonjour,
j'ai une des entités 'annonce', 'categories','souCategories'
ce que je veux :une fois je selectionne la categorie 'voiture' dans le menu déroulant ,que les champs :'model','boite-a-vitesse','Gasoil' s'affiche dans le formulaire de l'ajout d'annonce

Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code) mon annonceType "```" class AnnoncesType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('price',TextType::class,['label'=> false, 'attr'=> [ 'placeholder' =>'EX.:2000 sans vérgule' ], 'constraints'=>[ new Length([ 'min' => 3, 'minMessage' => 'votre prix doit etre à {{ limit }} chiffre', // max length allowed by Symfony for security reasons 'max' =>10, ]), ], ]) ->add('title',TextType::class,['label'=> false, 'attr'=> [ 'placeholder' =>'ajouter votre titre' ],]) ->add('categories',EntityType::class,['class'=>Categories::class, 'placeholder' => '--Selectionner--', ]) ->add('souscategories',collectionType::class,[ 'mapped' => false, 'entry_type'=>SousCategoriesType::class, 'label'=>false, 'entry_options'=>['label'=>false], 'allow_add'=>true, 'allow_delete'=>true, 'by_reference'=>false ]) ->add('Valider',SubmitType::class) ->add('regions', EntityType::class, [ 'mapped' => false, 'class' => Regions::class, 'choice_label' => 'name', 'placeholder' => 'Région', 'label' => 'Région', 'required' => false, //lister les noms des regions par ordre alphabetique 'query_builder'=>function(regionsRepository $regionRepo){ return $regionRepo->createQueryBuilder('r')->orderBy('r.name','ASC') ; } ]) ->add('departements', choiceType::class, [ 'placeholder' => 'Département (Choisir une Région)', 'required' => false, //lister les noms des departements par ordre alphabetique // 'query_builder'=>function(departementsRepository $departementsRepo){ // return $departementsRepo->createQueryBuilder('d')->orderBy('d.name','ASC'); // } ]) ->add('images', FileType::class,[ 'label' => false, 'multiple' => true, 'mapped' => false, 'required' => false]) ->add('content',CKEditorType::class) ->add('Valider',SubmitType::class,['attr'=>['class'=>'btn rounded-1 small blue press mt-2 mb-2']]); $formModifier = function (FormInterface $form, Regions $regions = null) { $departements = null === $regions ? [] : $regions->getDepartements(); $form->add('departements', EntityType::class, [ 'class' => Departements::class, 'choices' => $departements, 'required' => false, 'choice_label' => 'name', 'placeholder' => 'Département (Choisir une région)', 'attr' => ['class' => 'custom-select'], 'label' => 'Département' ]); }; $builder->get('regions')->addEventListener( FormEvents::POST_SUBMIT, function (FormEvent $event) use ($formModifier) { $region = $event->getForm()->getData(); $formModifier($event->getForm()->getParent(), $region); } ); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Annonces::class, ]); } } "```" "```" class CategoriesType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('name',TextType::class,) //->add('color', ColorType::class) ->add('parent') ->add('valider',SubmitType::class,[ 'attr'=>[ 'class'=>'btn primary small rounded-2',] ]) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Categories::class, ]); } } "```" **Ce que je veux** afficher les champs sous categories'cachés' du categorie aprés selection categorie "voiture"dans le menu deroulant Décrivez ce que vous cherchez à obtenir. **Ce que j'obtiens** Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

Aucune réponse