【问题标题】:trigger/bind jquery event for textbox on page load在页面加载时触发/绑定文本框的 jquery 事件
【发布时间】:2019-09-15 06:44:45
【问题描述】:

当用户输入邮政编码并单击下一步添加更多详细信息时,我在 view1 中有一个邮政编码文本框,我正在将邮政编码从 view1 传递到 view2。在 view2 中,我需要根据输入的邮政编码显示州和城市。我已经使用 keyup 根据输入的 zip 获取城市和州。当我在 view2 中更改邮政编码时它工作正常。但是当我从 view1 到 view2 时它不起作用。我需要在页面加载时触发邮政编码文本框的事件,我的意思是当邮政编码从 view1 传递到 view2 时。现在,当我从 view1 到 view2 时,仅在其各自的文本框中显示邮政编码,而城市和州字段不显示任何内容。如何触发邮政编码文本框的事件或在页面加载时绑定到现有事件?

$(document).ready(function ()
        {
            $("#zip").keyup(function () {
                var el = $(this);

                if (el.val().length === 5) {
                    $.ajax({
                        type:'GET',
                         dataType: "json",
                        cache: true,
                        url: "../api/Getstatelist/" + el.val(),
                        success: function (html) {
                            $.each(html,function(key,value){
$('#state').append($('<option></option>').val(value.State).html(value.State));
});
$.each(html,function(key,value){
$('#city').append($('<option></option>').val(value.City).html(value.City));
});
                        }
                    }); 
                }
            });
  });
<div>
            <div class="city-wrap">
                <select id="city">
                    <option value="">Select City first</option>
                </select>
                <label for="city">City</label>
            </div>
            <div class="state-wrap">
                <select id="state">
                    <option value="">Select State </option>
                </select>
                <label for="state">State</label>
            </div>
            <div class="zip-wrap">
               @Html.TextBoxFor(model => model.Zip, new { @class = "form-control", @id = "zip", @name = "zip" })
                <label for="zip">Zip</label>

            </div>
        </div>

【问题讨论】:

    标签: javascript c# jquery asp.net-ajax


    【解决方案1】:

    我想出了解决办法。添加了加载功能,如下所示。我不确定这是不是正确的做法。任何建议都会有所帮助。

      $( window ).on( "load", function() {
        var val = $('#zip').val();
    if (val.length === 5) {
                        $.ajax({
                            type:'GET',
                             dataType: "json",
                            cache: true,
                            url: "../api/Getstatelist/" + val,
                            success: function (html) {
                                $.each(html,function(key,value){
     $('#state').append($('<option></option>').val(value.State).html(value.State));
    });
    $.each(html,function(key,value){
    $('#city').append($('<option></option>').val(value.City).html(value.City));
    });
                            }
                        }); 
                    }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多