【问题标题】:MVC razor page jQuery fires but doesn't fill field until page refreshesMVC剃须刀页面jQuery触发但在页面刷新之前不会填充字段
【发布时间】:2014-03-06 21:58:45
【问题描述】:

Visual Studio 2012
MVC 5.1.1
ASP.Net Razor 3.1.1
引导程序 3.1.1
jQuery 2.1.0
json.Net 6.0.1
网页优化 1.1.3
Webgrease 1.6.0
等 - 大多数新的扩展等

我有一个带有 Telerik MVC KendoUI ComboBoxFor ComboBoxes 在剃刀局部视图中的 MVC Web 应用程序:

@model HTPortal.ViewModels.ClientInquiryViewModel
@using System.Web.UI.WebControls
@using Kendo.Mvc.UI

<div class="form-group">
    @Html.LabelFor(model => model.AddressState, new { @class = "control-label col-sm-2 
    col-md-2 col-lg-2" })
<div class="col-sm-5 col-md-5 col-lg-5">
    @(Html.Kendo().ComboBoxFor(model => model.AddressState)
        .Placeholder("Select Province...")
        .DataTextField("ProvinceName")
        .DataValueField("ProvinceName")
        .Suggest(true)
        .BindTo(Model.Provinces)
        )
    </div>

</div>

数据已加载到组合框中 - 一切正常。

在父剃须刀页面中,在 @using (Html.BeginForm()) 块之后,我有:

@section Scripts
{
    <script type="text/javascript">
        $(document).ready(function () {
            $.getJSON("http://smart-ip.net/geoip-json?callback=?", function (data) {
                alert(data.region);
                //$("#AddressCity").val(data.city);
                $("#AddressState").val(data.region);
                //$("#AddressCountry").val(data.countryName);
            });
        });
    </script>
}

在第一页加载时,警报确实触发了,我看到我的省/州显示在警报中。 但是,我的名为 AddressState 的 Combobox 只有在我刷新页面后才会被填充。

我已经阅读了关于类似问题的各种其他帖子,但没有窗口加载或初始化或任何工作。

事实上,在 IE 和 Chrome 中——我得到的只是警告对话框——这些字段永远不会被填满。

帮助....

如何在第一次调用页面时让这个 jQuery 填充字段?

【问题讨论】:

    标签: jquery asp.net-mvc-5


    【解决方案1】:

    我没有正确访问 Kendo UI 组件...

    $(document).ready(function () {
        $.getJSON("http://smart-ip.net/geoip-json?callback=?", function (data) {
            $("#AddressCity").data("kendoComboBox").value(data.city);
            $("#AddressState").data("kendoComboBox").value(data.region);
            $("#AddressCountry").data("kendoComboBox").value(data.countryName);
        });
    });
    

    这行得通!

    【讨论】:

      猜你喜欢
      • 2013-09-02
      • 2018-09-18
      • 2020-01-12
      • 2020-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 2021-04-19
      相关资源
      最近更新 更多