【问题标题】:cascading dropdown on partial view mvc4部分视图mvc4上的级联下拉菜单
【发布时间】:2013-08-21 11:29:51
【问题描述】:

我有一些文本框的部分视图以及城市/州/国家的 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>");
                });
    
            });
        });
    

有什么建议吗?

【问题讨论】:

  • 您的级联下拉菜单是否可以在没有局部视图的情况下工作?

标签: asp.net-mvc-4 cascadingdropdown


【解决方案1】:

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

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

为此:

$(document.body).on('change', '#CarrierLocation_CountryId', function() {

【讨论】:

  • Carlos Corral Carvajal - 代码运行良好,但我有多个 ddl,最初对于 State,当我将它用于城市时,它运行良好,浏览器挂起并给出 js 停止脚本消息。有什么建议如何将其用于多个 ddls?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 2011-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
相关资源
最近更新 更多