2016-11-01 3 views
0

У меня есть тег h4 и кнопка. Кнопка открывает модальный файл с GridView, чей столбец действий содержит кнопку, чтобы выбрать строку.Извлечь данные из модальных без обновления

Что мне нужно, чтобы кнопка строки заключалась в закрытии модального файла и, например, заполняла тэг h4 с помощью «Строка 3». Но я не хочу, чтобы страница была переписана.

Это родительская страница тегов и кнопка:

<h4>*</h4> 

<? 
echo Html::button('Explotación', [ 
    'value' => Url::to('/explotaciones/seleccionar'), 
    'class' => 'btn btn-primary', 
    'id' => 'modalButton' 
]); 

Modal::begin([ 
    'header' => 'Seleccionar Explotación', 
    'id' => 'modal', 
    'size' => 'modal-md' 
]); 
echo "<div id= 'modalContent'></div>"; 
Modal::end(); 
?> 

Колонка действия в модальный:

[ 
    'class' => 'yii\grid\ActionColumn', 
    'template' => '{seleccionado}', 
    'buttons' => [ 
     'seleccionado' => function ($url, $model) { 
      return Html::a('<span class="glyphicon glyphicon-chevron-right"></span>', '#', [ 
       'id' => 'seleccionado_' . $model->exp_id, 
       'class' => 'seleccionado', 
       'data-fila' => $model->exp_id 
      ]); 
     } 
    ] 
] 

регистрируя JavaScript в модальный:

<? 
$assets_js = Yii::$app->assetManager->publish(__DIR__ . '/js'); 

$this->registerJsFile($assets_js[1] . '/seleccion.js', [ 
    'depends' => [ 
     'app\assets\AppAsset' 
    ] 
]); 
?> 

И javascript:

(function($){ 
    $(document).ready(function() { 

     $('.seleccionado').click(function(evento) { 
      var value = 'HELLO'; 
      alert(value); 
      value = $(this).data("fila"); 
      alert(value); 
      $('h4').html(value); 
      $('#modal').modal('hide'); 
     }); 

    }); 
})(jQuery); 

Код печатает предупреждение HELLO, но он не печатает второй и не заправляет тег h4 и не закрывает модальный.

Какой правильный способ сделать эту работу?

+0

Проверьте консоль на наличие каких-либо ошибок – Ima

+0

попробуйте '$ (this) .attr (" data-fila ");' – madalinivascu

ответ

0

Стирание кеша, чтобы перезагрузить javascript, правильно изменило трюк. Спасибо, в любом случае.