#javascript #jquery #ruby-on-rails #ajax
#javascript #jquery #ruby-on-rails #ajax
Вопрос:
Я новичок в AJAX. У меня есть форма счета-фактуры в RoR, в которой содержатся поля customer, product и service. Когда я выбираю имя клиента из опции выбора, оно должно динамически получать несколько полей для заполнения из формы клиента. аналогично для продуктов из формы продуктов и сервиса из формы сервиса.
$("#customer_name").on('change', function() {
$(this).valid();
var customer_name = $('#customer_name').val();
if ($('#customer_name').val() == 'Add New') {
$.ajax({
type: "GET",
url: '/customer_details/new',
success: function(result) {
$('#myModal').modal('show');
$('#myModal .modal-body').html(result.html);
},
complete: function(result) {
popup.customerDetail();
}
});
} else {
$.ajax({
type: "POST",
url: '/invoices/dropdown',
data: {
customer_name: customer_name
},
success: function(result) {
$(".append-customer-details").html(result.html);
$('.selectpicker').selectpicker('refresh');
}
});
}
});
= fields_for Invoice.new do |f|
= f.label :customer_detail_id,"Customer Name"
= f.select(:customer_detail_id, CustomerDetail.collect_customer_name,{},{prompt: "Select customer", class: "selectpicker form-control", id: "customer_name", "data-live-search": "true"})
проблема в том, что после отправки страницы или после обновления параметры выбора не отображаются.таким образом, поля, зависящие от выбранных параметров, также не могут отображаться.Я не знаю, как передать выбранные значения в JS. может кто-нибудь, пожалуйста, помогите мне. Заранее спасибо!!
Комментарии:
1. Что это дает
result.html
?console.log(result.html);
2. он предоставляет динамически отображаемый идентификатор клиента, адрес и адрес доставки, указанные в форме «сведения о клиенте», в этой форме «Счет-фактура»
3. используйте
$('#myModal .modal-body').html(result)
, если вы получаете html в результате, и если вы получаете данные в форме json, используйте json. Синтаксический анализ (результат)