我有一个局部视图,其中有几个文本框以及3个ddl用于城市/州/国家/地区。我有一个视图模型最初加载国家/州/城市数据。我根据我的主视图中的一个下拉更改事件的值加载此部分视图。我的问题是在我的主视图上呈现的部分视图上的下拉列表的更改事件未触发。
partialview:
@model CarrierClaims.Web.ViewModels.CarrierLocationViewModel
@Html.DropDownListFor(model=>model.CarrierLocation.CountryId,Model.CountryList,"-Select Country-")
我的主视图中的js
$("#CarrierLocation_CountryId").change(function () {
var url = '@Url.Content("~/")' + "Claims/GetStateList";
var ddlsource = "#CarrierLocation_CountryId";
var ddltarget = "#CarrierLocation_StateId";
$.getJSON(url, { id: $(ddlsource).val() }, function (data) {
$(ddltarget).empty();
$.each(data, function (index, optionData) {
$(ddltarget).append("<option value='" + optionData.Value + "'>" + optionData.Text + "</option>");
});
});
});
有什么建议吗?
答案 0 :(得分:1)
我认为问题是jquery没有触发事件,因为你在dinamically创建第二个下拉列表,尝试改变这个:
$("#CarrierLocation_CountryId").change(function () {
为此:
$(document.body).on('change', '#CarrierLocation_CountryId', function() {