1

我有一些文本框以及城市/州/国家的 3 个 ddl 的部分视图。我有一个视图模型来最初加载国家/州/城市数据。我根据主视图上的一个下拉更改事件中的值加载此部分视图。我的问题是在我的主视图上呈现的部分视图上的下拉列表的更改事件没有触发。

部分视图:

@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>");
                });
    
            });
        });
    

有什么建议么?

4

1 回答 1

1

我认为问题在于 jquery 不会触发事件,因为您动态地创建了第二个下拉列表,请尝试更改:

$("#CarrierLocation_CountryId").change(function () {  

为了这:

$(document.body).on('change', '#CarrierLocation_CountryId', function() {
于 2013-08-21T11:49:53.077 回答