【发布时间】:2015-09-30 06:51:17
【问题描述】:
我有 3 个要填充的下拉列表(级联)。国家、城市和工厂。数据确实为所有三个下拉列表正确绑定。
问题是当我选择一个国家时,相关城市会正确绑定到城市 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>
感谢所有帮助。提前致谢!
【问题讨论】:
-
您的意思是您希望在选择国家/地区时填充工厂下拉列表吗?
-
@Stephen Muecke,感谢您的回复:) 不,我希望在选择城市时填充工厂 ddl。除了第一次填充城市 ddl 外,它都有效。我必须选择 city ddl 的另一个元素,然后来到 city ddl 的第一个元素来填充第一个元素的相关工厂。
-
这就是我的意思。当您选择国家时,将显示城市并选择第一个城市。你期待那个城市的工厂被展示吗? (它不会像你现在拥有的那样)
-
@Stephen Muecke,是的,你是对的。我期待工厂默认选择的城市 ddl 值。
-
那么你需要触发城市下拉列表的更改事件,但是你确定你想要这样做的额外开销。通常,您会在城市中呈现“请选择”选项,这是默认设置,并让用户选择一个城市,然后加载工厂
标签: jquery asp.net-mvc-5 cascadingdropdown