У меня есть два связанных (связанных) раскрывающихся списка в веб-форме asp.net.
<p>
<asp:DropDownList runat="server" CssClass="country" ID="ddlCountry" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
</p>
<p>
<asp:DropDownList runat="server" CssClass="city" ID="ddlCity" ></asp:DropDownList>
</p>
<input type="button" class="magicBtn" value="Magic" />
А это сценарий
$(document).ready(function () {
$(".magicBtn").click(function () {
var obj = { CountryId: "2", CityId: "3" };
$(".country").val(obj.CountryId).trigger("change");
$(".city").val(obj.CityId);
});
});
Когда я присваиваю такие значения, появляется только раскрывающееся меню страны, затем заполняется раскрывающееся меню города, однако его значение не отображается. Если я снова нажму на magicBtn, он появится.
Я предполагаю, что как только я нажимаю на кнопку, запускается событие изменения (__ doPstBack), поэтому перед назначением значения города страница обновляется, но параметры извлекаются, затем при втором щелчке параметры готовы, поэтому назначение в порядке. < br>
(На данный момент мне любопытно, как значение присваивается раскрывающемуся списку городов. Я удивлен, когда вижу, что оно заполняется при втором щелчке, поскольку я предполагал, что всякий раз, когда я нажимаю волшебную кнопку em >, trigger("change")
выполнять обратную передачу и присвоение значения города никогда не происходит. Поэтому я подумал, что после первого щелчка выбирается параметр страны, затем приходит второй щелчок, проверяется значение параметра, если такое же, тогда не отправляйте обратную передачу, поэтому он может перейдите к строке ниже, чтобы назначить раскрывающийся список города, однако , когда я проверял это в инструментах разработчика, я увидел, что он выполнял обратную передачу, хотя опция значение страны было таким же. Итак, несмотря на обратную передачу, как назначается раскрывающийся список города? GIF связан с этой проблемой.)
Итак, я хочу, чтобы сразу после первого щелчка были выбраны значения параметров и страны, и города.