gpt4 book ai didi

jquery - 默认显示值的多个下拉列表的数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 04:43:54 25 4
gpt4 key购买 nike

我有 3 个下拉列表需要填充(级联)。国家、城市和工厂。所有三个下拉列表的数据都正确绑定(bind)。

问题是当我选择一个国家/地区时,相关城市会正确绑定(bind)到城市 ddl,但对于选择到城市 ddl 的第一个值(默认显示值),工厂 ddl 不会显示相关工厂。但是,如果我从 city ddl 中选择另一个元素,然后再次单击 city ddl 的默认显示元素,它就可以正常工作。这是我的脚本

<script>
//For ddls
var cityDropdown = $("#SelectedCity");

$('#SelectedCountry').change(function () {
$.ajax({
url: '@Url.Action("FillCity", "Godown")',
type: "GET",
dataType: "JSON",
data: { Country: $(this).val() },
success: function (cities) {
cityDropdown.empty();
$.each(cities, function (i, city) {
cityDropdown.append($('<option></option>').val(city.CityId).html(city.CityName));
});
}
});
})

var factoryDropdown = $("#SelectedFactory");
$('#SelectedCity').change(function () {
$.ajax({
url: '@Url.Action("FillFactory", "Godown")',
type: "GET",
dataType: "JSON",
data: {City: $(this).val() },
success: function (factories) {
factoryDropdown.empty();
$.each(factories, function (i, factory) {
factoryDropdown.append($('<option></option>').val(factory.FactoryId).html(factory.FactoryName));
});
}
});
})
</script>

感谢所有帮助。提前致谢!

最佳答案

一旦填充城市,您需要触发城市下拉列表的.change()事件,以便加载关联的工厂

$('#SelectedCountry').change(function () {
$.ajax({
....
success: function (cities) {
cityDropdown.empty();
$.each(cities, function (i, city) {
cityDropdown.append($('<option></option>').val(city.CityId).html(city.CityName));
});
$('#SelectedCity').trigger('change'); // add this
}
});
})

然而,这不必要地对服务器进行 ajax 调用来填充用户可能不感兴趣的城市的工厂。最好在城市下拉列表中添加默认的“请选择”选项,以便然后,用户可以选择一个城市并填充关联的工厂。

$('#SelectedCountry').change(function () {
$.ajax({
....
success: function (cities) {
cityDropdown.empty();
cityDropdown.append($('<option></option>').val('').html('Please select')); // add this
$.each(cities, function (i, city) {
cityDropdown.append($('<option></option>').val(city.CityId).html(city.CityName));
});
}
});
})

关于jquery - 默认显示值的多个下拉列表的数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32859618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com