0

選択メニューの項目をajaxでロードするフォームがあります。change()ただし、すべての選択を関数で埋めるオプションもあります。しかし、ajaxリクエストが完了するのを待つ必要があるため、毎回異なる間隔を設定する必要があるため、そのようには使用できません。

window.setTimeout(function() {
  $("#car_brand").val(vehicle.brand).change();
}, 100);

したがって、これは の値を変更し、#car_brandcar_brand は、変更されたときにデータベースからすべてのオプションをロードします。したがって、別の間隔を設定しないと、新しいオプションをロードせずに間隔を変更しようとします。.done()ここで ajax リクエストのを使用する方法はありますか?

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'
    );
}
4

1 に答える 1