He creado una entidad con un formulario 'agregar nuevo'. La entidad misma tiene un número limitado de variables reales. He agregado la mayoría de los datos adicionales que necesito usando campos personalizados (es decir, la API de campo).
Lo que necesito hacer en esta etapa es poder ocultar dinámicamente un campo en función del valor de otro. es decir, si un campo desplegable tiene su valor establecido en No, se debe ocultar otro campo; de lo contrario, se debe mostrar.
Por lo que puedo ver, es algo fácil agregar esta funcionalidad a los campos creados usando la API de formulario (es decir, a través de la propiedad AJAX), sin embargo, ¿hay alguna forma de lograrlo usando los campos adjuntos? No tengo problemas con el uso de Javascript personalizado si eso es lo que se requiere para resolver esto.
Respuestas:
jQuery funciona bien para esto:
fuente
En Drupal 7 puede usar $ form en
#states
lugar de un script jQuery personalizado. Ejemplo:Aquí hay un ejemplo si desea usar
#states
para la condición de valores múltiples:Consulte el módulo de ejemplos
form_example/form_example_states.inc
from para obtener más detalles y ejemplos.fuente
#states
eso, nunca he encontrado una manera de definir condiciones de visibilidad más complejas, como: ocultar el control A cuando el valor del control B está en la matriz (x, y, z). ¿Conoces una sintaxis para eso?Deberías probar los campos condicionales , creo que este módulo es imprescindible para esta tarea. Puede establecer dependencias entre campos en una interfaz de administración fácil de usar. Por ejemplo, puede configurar el
A
campo para que solo sea visible si elB
campo tiene el valor " 1234 ", o puede configurar elC
campo de texto para que sea visible solo cuando elD
campo esté marcado, o establecer elE
campo como invisible siF
está enfocado, etc.En el formulario de carga, estas dependencias se establecerán en el lado del cliente, en la pantalla del nodo, estas dependencias se establecerán en el lado del servidor.
Puede establecer estas dependencias en
admin/structure/types/manage/[YOURCONTENTTYPESMACHINENAME]/dependencies
.(Fuente de la imagen: la página del proyecto )
fuente