phone_field.php 2.62 KB
<?php
    use yii\helpers\Html;
    use yii\validators\RegularExpressionValidator;
    use yii\widgets\MaskedInput;

?>
<fieldset>

    <div class="field_list">


        <?php $t = 0;

            $label = 0; // add this var

            for($i = 1; $i <= count($model); $i++):
                $row = $i;
                ?>
                <?= Html::beginTag('div', [
                'class' => 'form-group',
                'id'    => isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0,
            ]) ?>
                <div class="input-blocks">
                    <label for="cont-phone-<?= ++$label ?>">Телефон</label>
                    <input id="cont-phone-<?= $label ?>" type="tel" pattern="^\+?(?:\d{0,3})?[\(\s]?\d{0,5}[\)\s]?\d{3}[-\s]?\d{2}[-\s]?\d{2}$" placeholder="+xx(xxx)xxx-xx-xx" class="form-control custom-input-2" value="<?= isset( $model[ $t ][ 'value' ] ) ? $model[ $t ][ 'value' ] : '' ?>" name="Fields[phone][<?= $row ?>][0][phone]"/>
                </div>
                <span data-id="<?= isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0 ?>" title="<?= Yii::t('app', 'add') ?>" class="glyphicon glyphicon-trash delete-field-item"></span>
                <?= Html::endTag('div') ?>
                <?php $i = ++$t; ?>
            <?php endfor; ?>

    </div>
    <p class="btn btn-success add_field_<?= $this->context->id ?>">Добавить еще</p>

</fieldset>
<script>
    var start_i_<?=$this->context->id?> = <?=$i?>;
    var start_label_<?=$this->context->id?> = <?=$label?>; // add this var
    $(document).ready(
        function()
        {
            $('.add_field_<?=$this->context->id?>').click(
                function()
                {
                    var block = $(this)
                    .siblings('.field_list');
                    var block_id = $(this).parent('fieldset');
                    var sub_block = '<div class="form-group" >' + '<div class="input-blocks">' + '<label for="cont-phone-' + ++start_label_<?=$this->context->id?> + '">Телефон</label>' + '<input id="cont-phone-' + start_label_<?=$this->context->id?> + '" type="tel" pattern="^\\+?(?:\\d{0,3})?[\\(\\s]?\\d{0,5}[\\)\\s]?\\d{3}[-\\s]?\\d{2}[-\\s]?\\d{2}$" placeholder="+xx(xxx)xxx-xx-xx" class="form-control custom-input-2" value="" name="Fields[phone][' + start_i_<?=$this->context->id?>++ + '][0][phone]" />' + '</div>' + '<span class="glyphicon glyphicon-trash delete-field-item custom-remove-ico"></span>' + '<div>';
                    block.append(sub_block);

                }
            );
        }
    );
</script>