# jetformbuilder/1.1.1/templates/fields/select-field.php

JetFormBuilder — Dynamic Blocks Form Builder, version 1.1.1. 66 lines.

- Page: https://pluginprobe.com/plugins/jetformbuilder/1.1.1/code/templates/fields/select-field.php
- Raw: https://pluginprobe.com/plugins/jetformbuilder/1.1.1/raw/templates/fields/select-field.php
- Modified: 2021-03-11T08:51:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jetformbuilder/1.1.1/code/templates/fields/select-field.php#L10-L20`.

```php
<?php
/**
 * input[type="hidden"] template
 */

$this->add_attribute( 'required', $this->block_type->get_required_val( $args ) );
$this->add_attribute( 'name', $this->block_type->get_field_name( $args['name'] ) );
$this->add_attribute( 'data-field-name', $args['name'] );
$this->add_attribute( 'id', $this->block_type->get_field_id( $args ) );

if ( ! empty( $args['switch_on_change'] ) ) {
	$this->add_attribute( 'data-switch', 1 );
}

$placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : false;
$default     = isset( $args['default'] ) ? $args['default'] : false;

$this->add_attribute( 'data-default-val', $default );

?>
<div class="jet-form-builder__field-wrap">
    <select class="jet-form-builder__field select-field"<?php $this->render_attributes_string(); ?>><?php

        if ( $placeholder ) {
            $selected_placeholder = '';

            if ( ! $default ){
                $selected_placeholder = 'selected';
            }

            printf( '<option value="" %1$s>%2$s</option>', $selected_placeholder, $placeholder );
        }

        if ( ! empty( $args['field_options'] ) ) {

            foreach ( $args['field_options'] as $value => $option ) {

                $selected = '';
                $calc     = '';


                if ( is_array( $option ) ) {
                    $val   = isset( $option['value'] ) ? $option['value'] : $value;
                    $label = isset( $option['label'] ) ? $option['label'] : $val;
                } else {
                    $val   = $value;
                    $label = $option;
                }

                if ( $default ) {
                    $selected = selected( $default, $val, false );
                }

                if ( is_array( $option ) && isset( $option['calculate'] ) ) {
                    $calc = ' data-calculate="' . $option['calculate'] . '"';
                }

                printf( '<option value="%1$s" %3$s%4$s>%2$s</option>', $val, $label, $selected, $calc );

            }

        }

    ?></select>
	<?php echo $this->maybe_render_error( $args ); ?>
</div>
```
