Заполнение раздела цены путем выбора товара в наборе форм django
У меня есть Django formset с 6 полями ввода. Каждый раз, когда пользователь выбирает товар, в каждой строке автоматически заполняются 3 поля с именами dp_price, tp_price и mrp. Я попробовал несколько вариантов, но не смог сделать это самостоятельно. Мой набор форм выглядит следующим образом
и мой опробованный js файл
add_purchase.js
var send_data = {}
for(var i=0; i<10; i++){
$(document).ready(function (prefix) {
$('#id_form-' +prefix+ '-product').on('change', function () {
console.log("On Product selected")
let id = $(this).children('option:selected').val();
console.log(id);
$.ajax({
url: 'product-info',
data: {
'pk': id
},
dataType: 'json',
success: function (data) {
console.log(data);
$("#id_form-"+prefix+"-dp_price").val(data.dp_price);
$("#id_form-"+prefix+"-tp_price").val(data.tp_price);
$("#id_form-"+prefix+"-mrp").val(data.mrp_price);
}
});
})(i);
});
}
forms.py
PurchaseChildFormset = modelformset_factory(
)PurchaseChild,
form=PurchaseChildFormCreateForm,
extra=1,
widgets={
'product': forms.Select(attrs={'class': 'form-control', }),
'dp_price': forms.NumberInput(attrs={'class': 'form-control', }),
'tp_price': forms.NumberInput(attrs={'class': 'form-control', }),
'mrp': forms.NumberInput(attrs={'class': 'form-control', }),
'qty': forms.NumberInput(attrs={'class': 'form-control'}),
'line_total': forms.NumberInput(attrs={'class': 'form-control'}),
},
)
Чтобы отобразить это во фронтенде на родных шаблонах django, вы только сможете сделать это: Ex Javascript