2016-03-30 1 views
0

У меня есть модальный, который я показываю на щелчке элемента. Итак, я хочу обновить входное значение в этом модале через Ajax, я могу получить данные успешно, но он не обновляет его значение в обычном режиме (получите значение другой записи статьи, а не текущий код статьи), здесь мой код:Javascript: обновить входное значение через ajax по модальным показанным

$('#editArticle').on('show.bs.modal', function (e) { 
    ... 
    $articleID = $(e.relatedTarget).attr('data-id'); 
    $.ajax({ 
      type: "GET",     
      url : 'article/'+ $articleID +'/getData',     
      dataType : "json", 
      success : function(data){      
       document.getElementById("serial").value = data['serial']; 
      } 
    }); 
}); 

и если установить предупреждение, чтобы показать данные, которые он возвращает правильное значение:

success : function(data){ 
       alert(data['serial']); // here it returns the right value for each row, and it appears after the modal show !!!!     
       document.getElementById("serial").value = data['serial']; 
      } 

Записи перечислены в DataTable: enter image description here Что ошибку?!

+0

Почему вы не используете клик слушателя событий? –

+0

Можете ли вы разместить то, что находится в 'data'? Также, какова цель использования jquery, а затем возврата в JS для 'document.getElementById'? Почему бы не использовать селектор jQuery ?: '$ (" # serial "). Val (data ['serial']);' – Blindsyde

+0

@FernandoUrban Я нажимаю на ссылку как это: BKF

ответ

0

IMO, попробуйте сначала клонировать модальный, затем найдите id или класс в клонированном модальном формате. В этом примере я использую диалоговое окно начальной загрузки в качестве плагина. Пожалуйста, обратите внимание:

var modal = $('.modal').clone(); 
 

 
BootstrapDialog.show({ 
 
    title: 'blabla', 
 
    message: modal.show(), 
 
    onshow: function() { 
 
     $(modal).find('#result').text('updated text'); 
 
    }, 
 
    buttons: [{ 
 
     label: 'Cancel', 
 
     action: function(dialogRef) { 
 
     dialogRef.close(); 
 
     } 
 
    }] 
 
});
<div class="modal" style="display:none"> 
 
    <div id="result"></div> 
 
</div>

Надежда этот код работает для вашей проблемы

Смежные вопросы