Blame view

common/widgets/views/phone_field.php 4.37 KB
eb7e82fb   Administrator   29.02.16
1
2
  <?php

      use yii\helpers\Html;

eb7e82fb   Administrator   29.02.16
3
4
5
6
7
8
  

  ?>

  <fieldset>

  

      <div class="field_list">

  

239b3249   Yarik   test
9
          <?php $t = 0;

eb7e82fb   Administrator   29.02.16
10
  

239b3249   Yarik   test
11
              $label = 0; // add this var

eb7e82fb   Administrator   29.02.16
12
  

239b3249   Yarik   test
13
14
15
16
              for($i = 1; $i <= count($model); $i++):

                  $row = $i;

                  ?>

                  <?= Html::beginTag('div', [

4476eb35   Yarik   test
17
                  'class' => 'form-group form-group-phone-' . ( isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0 ),

239b3249   Yarik   test
18
19
20
21
                  'id'    => isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0,

              ]) ?>

                  <div class="input-blocks">

                      <label for="cont-phone-<?= ++$label ?>">Телефон</label>

4476eb35   Yarik   test
22
                      <input id="cont-phone-<?= $label ?>" type="tel" 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]"/>

239b3249   Yarik   test
23
                  </div>

4476eb35   Yarik   test
24
                  <div class="help-block"></div>

239b3249   Yarik   test
25
                  <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>

4476eb35   Yarik   test
26
27
28
29
30
31
32
33
34
35
36
37
38
39
                  <?php

                  $js = "

                          var id = 'cont-phone-" . $label . "';

                          $('#w0').yiiActiveForm('add', {

                              container: '.form-group-phone-" . ( isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0 ) . "',

                              error: '.help-block',

                              id: id,

                              input: '#'+id,

                              name: 'Fields[phone][" . $row . "][0][phone]',

                              validate: function(attribute, value, messages, deferred) {yii.validation.regularExpression(value, messages, {'pattern':/^\+?(?:\d{0,3})?[\(\s]?\d{0,5}[\)\s]?\d{3}[-\s]?\d{2}[-\s]?\d{2}$/,'not':false,'message':'Телефон введен неверно . ','skipOnEmpty':1});}

                          });

                      ";

                  $this->registerJs($js, $this::POS_LOAD);

                  ?>

239b3249   Yarik   test
40
41
42
                  <?= Html::endTag('div') ?>

                  <?php $i = ++$t; ?>

              <?php endfor; ?>

eb7e82fb   Administrator   29.02.16
43
44
45
46
47
  

      </div>

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

  

  </fieldset>

4476eb35   Yarik   test
48
49
50
51
52
53
  <?php

      $js = "

              var start_i_" . $this->context->id . " = " . $i . ";

              var start_label_" . $this->context->id . " = " . $label . ";

              $(document).on('click', '.add_field_" . $this->context->id . "', function() {

                  var block = $(this)

239b3249   Yarik   test
54
55
                      .siblings('.field_list');

                      var block_id = $(this).parent('fieldset');

4476eb35   Yarik   test
56
57
                      ++start_label_" . $this->context->id . ";

                      var sub_block = '<div class=\"form-group form-group-phone-'+start_label_" . $this->context->id . "+'\" >' + '<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\" placeholder=\"+xx(xxx)xxx-xx-xx\" class=\"form-control custom-input-2\" value=\"\" name=\"Fields[phone][' + start_i_" . $this->context->id . "++ + '][0][phone]\" />' + '</div><div class=\"help-block\"></div><span class=\"glyphicon glyphicon-trash delete-field-item custom-remove-ico\"></span>' + '<div>';

239b3249   Yarik   test
58
                      block.append(sub_block);

4476eb35   Yarik   test
59
60
61
62
63
64
65
66
67
68
69
70
                      $('#w0').yiiActiveForm('add', {

                          container: '.form-group-phone-'+start_label_" . $this->context->id . ",

                          error: '.help-block',

                          id: 'cont-phone-'+start_label_" . $this->context->id . ",

                          input: '#cont-phone-'+start_label_" . $this->context->id . ",

                          name: 'Fields[phone][' + start_label_" . $this->context->id . "++ + '][0][phone]',

                          validate: function(attribute, value, messages, deferred) {yii.validation.regularExpression(value, messages, {'pattern':/^\+?(?:\d{0,3})?[\(\s]?\d{0,5}[\)\s]?\d{3}[-\s]?\d{2}[-\s]?\d{2}$/,'not':false,'message':'Телефон введен неверно . ','skipOnEmpty':1});}

                      });

              });

              ";

      $this->registerJs($js, $this::POS_LOAD);

  ?>

eb7e82fb   Administrator   29.02.16
71
72