Javascript 处理程序。改变一下顺序。非常感谢!我不知道。现在可以了,但我遇到了另一个问题。加载my Department元素后,将发送ajax请求并加载ville元素。如果我尝试执行$(“#ville option[value=“+ville+”]).prop('se

Javascript 处理程序。改变一下顺序。非常感谢!我不知道。现在可以了,但我遇到了另一个问题。加载my Department元素后,将发送ajax请求并加载ville元素。如果我尝试执行$(“#ville option[value=“+ville+”]).prop('se,javascript,jquery,ajax,jquery-events,Javascript,Jquery,Ajax,Jquery Events,处理程序。改变一下顺序。非常感谢!我不知道。现在可以了,但我遇到了另一个问题。加载my Department元素后,将发送ajax请求并加载ville元素。如果我尝试执行$(“#ville option[value=“+ville+”]).prop('selected',true)在我的$('#department')之后。触发(“更改”),它在之前执行。所以我无法选择我的ville选项,因为此时它是空的*好吧,在setTimeout方法中添加您的触发器代码在您的情况下,最后一行将类似以下内容s


处理程序。改变一下顺序。非常感谢!我不知道。现在可以了,但我遇到了另一个问题。加载my Department元素后,将发送ajax请求并加载ville元素。如果我尝试执行
$(“#ville option[value=“+ville+”]).prop('selected',true)在我的
$('#department')之后。触发(“更改”),它在之前执行。所以我无法选择我的ville选项,因为此时它是空的*好吧,在setTimeout方法中添加您的触发器代码在您的情况下,最后一行将类似以下内容
setTimeout(function(){$('#department').trigger(“change”)},0)
<div class="inscriptionForm">
    <label for="departement">Département :</label>
    <select name="departement" id="departement" required="required">
        <option value="">Choisissez un département</option>
        <c:forEach items="${departements}" var="departement">
            <option value="${departement.code}">${departement.code} - <c:out value="${departement.nom}"/></option>
        </c:forEach>
    </select>
</div>

<div class="inscriptionForm">
    <label for="ville">Ville :</label>
    <select name="ville" id="ville" required="required">
        <option value="">Choisissez une ville</option>
        <c:forEach items="${villes}" var="ville">
            <option value="${ville.id}"><c:out value="${ville.nom}"/></option>
        </c:forEach>
    </select>
</div>
$(document).ready(function(){
        var departement = ${spot.departement.code};
        var ville = ${spot.ville.id};
        $("#departement option[value="+departement+"]").prop('selected', true);
        $('#departement').trigger("change");
        $("#ville option[value="+ville+"]").prop('selected', true);

        $('#departement').change(function() {
            var choixDep = $('#departement').val();
            $.getJSON("choixDepartement.do",{codeDep: choixDep},
                function (data) {
                    $("#ville").empty();
                    var option = "<option value=''>Choisissez une ville</option>";
                    $("#ville").append(option);
                    $.each( data, function(key, val) {
                        .....
                       ajax callback treatment
                       ........
                    });
                }
            );
        });
    });
$(document).ready(function(){
    var departement = ${spot.departement.code};
    var ville = ${spot.ville.id};
    $("#departement option[value="+departement+"]").prop('selected', true);

    $("#ville option[value="+ville+"]").prop('selected', true);

    $('#departement').change(function() {
        var choixDep = $('#departement').val();
        $.getJSON("choixDepartement.do",{codeDep: choixDep},
            function (data) {
                $("#ville").empty();
                var option = "<option value=''>Choisissez une ville</option>";
                $("#ville").append(option);
                $.each( data, function(key, val) {
                    .....
                   ajax callback treatment
                   ........
                });
            }
        );
    });
    $('#departement').trigger("change");
});
    var departement =${spot.departement.code};
    var ville =${spot.ville.id};

    $("#departement option[value="+departement+"]").prop('selected', true);

    alert(departement);
    alert(ville);

        $('#departement').change(function() {
            var choixDep = $('#departement').val();
            $.getJSON("choixDepartement.do",{codeDep: choixDep},
                function (data) {
                    $("#ville").empty();
                    var option = "<option value=''>Choisissez une ville</option>";
                    $("#ville").append(option);
                    $.each( data, function(key, val) {
                        var valToString = val.toString();
                        var valToArray = valToString.split(",");
                        var option = "<option value=" + valToArray[0] + ">" + valToArray[1] + "</option>";
                        $("#ville").append(option);
                    });
                }
            );
        });

        setTimeout(function(){$('#departement').trigger("change");},0);

        $("#ville option[value="+ville+"]").prop('selected', true);
       var departement =${spot.departement.code};

       $('#departement').change(function() {
            var choixDep = $('#departement').val();
            $.getJSON("choixDepartement.do",{codeDep: choixDep},
                function (data) {
                    $("#ville").empty();
                    var option = "<option value=''>Choisissez une ville</option>";
                    $("#ville").append(option);
                    $.each( data, function(key, val) {
                        var valToString = val.toString();
                        var valToArray = valToString.split(",");
                        var option = "<option value=" + valToArray[0] + ">" + valToArray[1] + "</option>";
                        $("#ville").append(option);
                    });
                    $("#ville option[value="+ville+"]").prop('selected', true);
                }
            );
        });

        $("#departement option[value="+departement+"]").prop('selected', true);

        $('#departement').trigger("change");