asp.net-mvc – 使用JSON结果填充下拉列表 – 使用MVC3,JQuery,Ajax,JSON级联Drop
发布时间:2020-05-24 04:49:53 所属栏目:asp.Net 来源:互联网
导读:我有一个级联的drop-drown使用mvc.如果您在第一个下拉列表中选择一个国家/地区,那么第二个国家/地区的状态应该相应地填充. 目前,似乎都很好,我正在收到Json的回应(看到它使用F12工具),它看起来像[{“stateId”:“01”,“StateName”:“arizona”},{“stateI
|
我有一个级联的drop-drown使用mvc.如果您在第一个下拉列表中选择一个国家/地区,那么第二个国家/地区的状态应该相应地填充. 目前,似乎都很好,我正在收到Json的回应(看到它使用F12工具),它看起来像[{“stateId”:“01”,“StateName”:“arizona”},{“stateId” :“02”,“州名”:“加州”}等..] 我想知道如何使用这些数据填充我的第二个下拉列表.我的第二个下拉列表的ID是“StateID”.任何帮助将不胜感激. 以下是从服务器生成JSON响应的代码: [HttpPost]
public JsonResult GetStates(string CountryID)
{
using (mdb)
{
var statesResults = from q in mdb.GetStates(CountryID)
select new Models.StatesDTO
{
StateID = q.StateID,StateName = q.StateName
};
locations.statesList = stateResults.ToList();
}
JsonResult result = new JsonResult();
result.Data = locations.statesList;
return result;
}
以下是客户端HTML,我的剃刀代码和我的脚本.我想在“成功:”中写入一些代码,以便使用JSON数据填充国家下拉列表. <script type="text/javascript">
$(function () {
$("select#CountryID").change(function (evt) {
if ($("select#CountryID").val() != "-1") {
$.ajax({
url: "/Home/GetStates",type: 'POST',data: { CountryID: $("select#CountryID").val() },success: function () { alert("Data retrieval successful"); },error: function (xhr) { alert("Something seems Wrong"); }
});
}
});
});
</script>
解决方法首先,在jQuery事件处理函数内部,这是指触发事件的元素,因此您可以用$(this)替换$(“select#CountryID”)的其他调用.尽管在可能的情况下,您应该直接访问元素属性,而不是使用jQuery函数,因此您可以简单地执行this.value而不是$(this).val()或$(“select#CountryID”).val().然后,在AJAX调用成功函数的内部,您需要创建一系列< option>元素.这可以使用基本的jQuery()函数(或简称为$())来完成.这样会看起来像这样: $.ajax({
success: function(states) {
// states is your JSON array
var $select = $('#StateID');
$.each(states,function(i,state) {
$('<option>',{
value: state.stateId
}).html(state.StateName).appendTo($select);
});
}
});
这是一个jsFiddle demo. 相关的jQuery文档: > (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC Model Binding不适用于Kendo Grid
- asp.net – 按钮可以验证更多验证组吗?
- ASP.NET中的c# – die()或exit()功能
- asp.net-mvc – 将Viewmodel数据保存到ASP.NET MVC中的数据
- asp.net-mvc-4 – 如何永久教Visual Studio检测我的调试信息
- asp.net – 如果启用ASP .Net请求验证,是否需要HtmlEncode
- 用Scrutor来简化ASP.NET Core的DI注册
- 经典ASP中的会话
- asp.net – 你可以添加一个HtmlGenericControl的子控件吗?
- asp.net-mvc – ValidationMessage – 处理同一属性的多个错
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC路由和区域
- 从ASP.NET Web API中删除XML中的命名空间
- asp.net – 如何在Firefox上命名文件以供下载?
- asp.net-mvc – 如何在一个视图中使用两个IENume
- ASP.NET两个截取字符串的方法分享
- asp.net – 在Response.Redirect之后获取上一页网
- asp.net-web-api – 为ASP.NET Web API应用程序生
- asp.net – 错误:类型存在于两个目录中
- asp.net – 找出.NET创建的HTML元素的客户端ID?
- asp.net-mvc – 具有接受routeValues和htmlAttri
热点阅读
