隐藏字段基于Magnolia内容应用中的下拉值

时间:2015-08-18 07:41:02

标签: ajax magnolia

我正在开发类似于Tours的内容应用。在这里我有一个有多个字段的表单。 现在我有一个像http://jsfiddle.net/5SArB/1911/小提琴这样的要求。  我需要根据下拉列表中的选择隐藏一些字段,例如当年龄超过18时父隐藏详细信息如何隐藏。 如何在玉兰花内容应用程序中实现这一点?enter code here

2 个答案:

答案 0 :(得分:1)

这应该是您在Magnolia 5.7中使用的Yaml。

您应将可切换字段与 composite 字段结合使用:

wide: true
form:
  tabs:
    - name: tabForm
      label: Form registration
      fields:
        - name: username
          label: Name
          fieldType: text
        - name: email
          label: Email
          fieldType: text
        - name: ageConfig
          fieldType: switchable
          label: Age
          selectionType: select
          transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
          type: String
          options:
            - name: young
              label: 18 or younger
              value: young
            - name: old
              label: 19 or older
              value: old
          fields:
            - name: young
              fieldType: composite
              label: ''
              layout: vertical
              fields:
                - name: parentName
                  fieldType: text
                  label: Parent name
                - name: parentMail
                  fieldType: text
                  label: Parent email
            - name: old
              fieldType: hidden

actions: !include:/my-project/dialogs-common/actions-block.yaml

这是“年轻”的情况:

Young case

这是“旧”情况:

Old case

答案 1 :(得分:0)

您可以通过扩展SwitchableFieldFactoryCompositeFieldFactory并在那里编码所需的行为来实现此目的。

HTH,