我有一个表单,我用 ajax 加载选择菜单的项目。但是还有一个选项可以使用该change()
功能填充所有选择。但是由于它需要等待 ajax 请求完成,所以我需要设置一个每次都不同的间隔,所以我不能那样使用它。
window.setTimeout(function() {
$("#car_brand").val(vehicle.brand).change();
}, 100);
因此,这会更改 的值,#car_brand
并且 car_brand 会在更改时从数据库中加载所有选项。因此,如果我不设置另一个间隔,它会尝试在不加载新选项的情况下更改它。有没有办法在.done()
这里使用 ajax 请求?
阿贾克斯请求
function updateField(str, id, prevvalue, value, vehicletype){
$.ajax({
type: "get",
url: "inc/ajax/form_rest.php",
data: { q:str, prevvalue:prevvalue, value:value, vehicletype:vehicletype },
success: function(html) {
$('#'+id).html(html);
}
})
.done(function(){
$("#"+id).removeAttr("disabled");
});
}
全改功能
function returnVehicleByValue(vehicleValue, vozila){
$.get("inc/ajax/selectMojaVozila.php",
{vehicleValue:vehicleValue},
function(html){
var vehicle = html;
//Select Moja Vozila
$("#"+vozila+"_year").val(vehicle.Year).change()
window.setTimeout(function() {
$("#"+vozila+"_brand").val(vehicle.Marke_vozila).change();
}, 100);
window.setTimeout(function() {
$("#"+vozila+"_model").val(vehicle.Model_vozila).change();
}, 350);
window.setTimeout(function() {
$("#"+vozila+"_type").val(vehicle.Tip_vozila).change();
}, 500);
window.setTimeout(function() {
$("#"+vozila+"_uitvoering").val(vehicle.izvedba_vozila).change();
}, 700);
}, 'json'
);
}