education_field.php 2.83 KB
<?php
    use yii\helpers\Html;

?>
<fieldset>

    <legend>Образование</legend>

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


    <?php $t = 0;
        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,
        ]) ?>
            <input type="text" placeholder="Название" class="form-control" value="<?= isset( $model[ $t ][ 'value' ] ) ? $model[ $t ][ 'value' ] : '' ?>" name="Fields[education][<?= $row ?>][0][name]"/>
            <input type="number" class="form-control" value="<?= isset( $model[ ++$t ][ 'value' ] ) ? $model[ $t ][ 'value' ] : '' ?>" name="Fields[education][<?= $row ?>][1][year_from]"/>
            <input type="number" class="form-control" value="<?= isset( $model[ ++$t ][ 'value' ] ) ? $model[ $t ][ 'value' ] : '' ?>" name="Fields[education][<?= $row ?>][2][year_to]"/>
            <span data-id="<?= isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0 ?>" title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span>
            <?= Html::endTag('div') ?>
            <?php $i = ++$t; ?>
        <?php endfor; ?>


</fieldset>
<script>
    var start_i_<?=$this->context->id?> = <?=$i?>;
    $ (document)
        .ready (
            function ()
            {
                $ ('.add_field_<?=$this->context->id?>')
                    .click (
                        function ()
                        {
                            var block     = $ (this)
                                .parent ('fieldset');
                            var block_id  = $ (this)
                                .parent ('fieldset');
                            var sub_block = '<div class="form-group" >' +
                                            '<input type="text" placeholder="Название" class="form-control" value="" name="Fields[education][' + start_i_<?=$this->context->id?>++ + '][0][name]" />' +
                                            '<input type="number" class="form-control" value="" name="Fields[education][' + start_i_<?=$this->context->id?>++ + '][1][year_from]" />' +
                                            '<input type="number" class="form-control" value="" name="Fields[education][' + start_i_<?=$this->context->id?>++ + '][2][year_to]" />' +
                                            '<span title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span>' +
                                            '<div>';
                            console.log (block);
                            block.append (sub_block);
                        }
                    );
            }
        );
</script>