Drupal Form state with select multiple

Drupal Form state with select multiple

Publish Date: Jun 3
0 0

A veces el código habla por si mismo.

    $form['description'] = [
      '#type' => 'item',
      '#markup' => $this->t('This example demonstrates the #states
property. #states makes an element visibility dependent on another.'),
    ];

    $form['needs_accommodation'] = [
      '#type' => 'select',
      '#title' => 'Need Special Accommodations?',
      '#options' => [
        '1' => 'si',
        '2' => 'no',
        '3' => 'vete a saber'
      ],
      '#multiple' => TRUE,
    ];

    // The #states property used here binds the visibility of the
    // container element to the value of the needs_accommodation checkbox above.
    $form['accommodation'] = [
      '#type' => 'container',
      '#attributes' => [
        'class' => 'accommodation',
      ],
      // #states is an associative array. Each key is the name of a state to
      // apply to the element, such as 'visible'. Each value is another array,
      // making a list of conditions that denote when the state should be
      // applied. Every condition is a key/value pair, whose key is a jQuery
      // selector that denotes another element on the page, and whose value is
      // an array of conditions, which must be met on in order for the state to
      // be applied.
      //
      // For additional documentation on the #states property including a list
      // of valid states and conditions see drupal_process_states().
      '#states' => [
        // The state being affected is "invisible".
        'visible' => [
          // Drupal will only apply this state when the element that satisfies
          // the selector input[name="needs_accommodation"] is un-checked.
          'select[name="needs_accommodation[]"]' => ['value' => ['3']],
        ],
      ],
    ];

    $form['accommodation']['diet'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Dietary Restrictions'),
    ];

    // Add a submit button that handles the submission of the form.
    $form['actions']['submit'] = [
      '#type' => 'submit',
      '#value' => $this->t('Submit'),
    ];

    return $form;
Enter fullscreen mode Exit fullscreen mode

Los kudos para Penyaskito

Comments 0 total

    Add comment