在页面加载时触发/绑定文本框的 jquery 事件
Posted
技术标签:
【中文标题】在页面加载时触发/绑定文本框的 jquery 事件【英文标题】:trigger/bind jquery event for textbox on page load 【发布时间】: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>
【问题讨论】:
【参考方案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));
);
);
【讨论】:
以上是关于在页面加载时触发/绑定文本框的 jquery 事件的主要内容,如果未能解决你的问题,请参考以下文章
请问一下,C# js里面文本框的改变事件怎么写(主要是实现给用户发送信息,绑定2个文本框,一个存id)
如何通过jquery 控制dropdownlist控件显示的选中值
jquery是怎么实现:页面加载完毕,而图片未加载完成时,触发的事件?