根据下拉列表选择填充数据文本框(onChange)
本文关键字:onChange 文本 数据 下拉列表 选择 填充 | 更新日期: 2023-09-27 18:06:44
我正在使用ASP建立一个网站。NET MVC和实体框架。我有一个DB表与国家信息:
CountryID int;
ShortName nvarchar;
CountryCode nvarchar;
In my View我有:
<div class="editor-field"><%: Html.DropDownListFor(model => model.address.CountryID, Model.countriesList, "<--Select Country-->") %></div>
<div class="display-field"><%: Html.TextBoxFor(m => m.phone.CountryCode)%>></div>
传递给视图的列表是:
countriesList = new SelectList(countries, "CountryID", "ShortName");
更新 javascript代码:
<script src="/Scripts/jquery-1.4.1.min.js" language="javascript" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#address.CountryID").change(function()
{
$.get("/PersonalInfo/GetCountryCode", $(this).val(), function(data)
{
$("#phone.CountryCode").val(data);
});
});
});
和控制器方法:
public ActionResult GetCountryCode(int id)
{
Country c = personalInfoRepository.GetUserCountryByID(id);
string countryCode = c.PhoneCode;
return Content(countryCode);
}
</script>
我想做的是,每当用户从下拉菜单中选择不同的国家时,用相应的CountryCode填充显示字段。我知道ajax可以用来实现这一点,但不幸的是我没有经验。我将感谢任何帮助与代码或一些链接到简单的教程,为初学者。
是否有可能做到这一点,而不张贴回服务器,如果我通过一个国家codelist沿着国家列表?
这是一个很棒的教程,用3种不同的方法用ASP创建级联下拉框。. NET MVC - http://stephenwalther.com/blog/archive/2008/09/07/asp-net-mvc-tip-41-creating-cascading-dropdown-lists-with-ajax.aspx
填充文本框的概念与此类似。首先,您需要一个控制器动作,它将返回给定国家/地区的正确国家/地区代码:
public ActionResult GetCountryCode(int countryId)
{
//logic to find country code goes here
string countryCode = "1";
return Content(countryCode);
}
现在你需要一些javascript来绑定到你的国家的变化事件下拉菜单,并通过ajax调用你的控制器动作。我推荐使用jquery:
<script type="text/javascript">
$(document).ready(function()
{
$("#address_CountryID").change(function()
{
$.get("/Countries/GetCountryCode", $(this).val(), function(data)
{
$("#phone_CountryCode").val(data);
});
});
});
</script>