华域联盟 .Net MVC实现下拉框联动效果(单选)

MVC实现下拉框联动效果(单选)

MVC实现下拉框联动效果(单选)
 更新时间:2017年06月29日 09:39:18   作者:百变小樱007  

这篇文章主要为大家详细介绍了MVC实现下拉框联动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

下拉框联动效果,我们以部门--职位为例,选择部门时,关联到该部门的职位.下拉框的写法就不多说了,详细请参照前文.
视图:
其中,dept是部门的属性,deptlist是部门下拉框的属性,job是职位的属性,joblist是职位下拉框的属性,下拉框绑定请参照前文

@using (Html.BeginForm("aaai003sch", "aaa", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
<div class="modal-body">
<div class="form-horizontal">
<div class="form-group">
@Html.LabelFor(m => m.dept, new { @class = "col-sm-2 control-label" })
<div class="col-sm-10">
@Html.DropDownListFor(model => model.dept, Model.deptlist, new { @class = "form-control select2 ", style = "width: 100%;" })
@Html.ValidationMessageFor(m => m.dept, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@ Html.LabelFor(m => m.job, new { @class = "col-sm-2 control-label" })
<div class="col-sm-10">
@Html.DropDownListFor(model => model.job, Model.joblist, new { @class = "form-control select2 page-select2-area", style = "width: 100%;" })
@Html.ValidationMessageFor(m => m.job, "", new { @class = "text-danger" })
</div>
</div>
</div>
</div>
</div>

当部门变动的时候,职位也相应改变:

//根据城市获取酒店
$("#dept").change(function () {
var url = rootUrl + "aaa/GetJobByDept";
var dept = $(this).val(); //获取部门的值
var job = $("#job");
job.empty(); //清空当前职位的值
//这句很重要,因我们用的是select2插件,若没有用这个插件可以去掉这句
job.select2('val', '');
$.ajax({
cache: false,
type: "GET",
url: url,
data: { "Dept": dept},
success: function (data) {
$.each(data, function (id, option) {

job.append($('<option></option>').val(option.Id).html(option.Name));
});
job.trigger('change');
},
error: function (xhr, ajaxOptions, thrownError) {
toastr["error"]("请选择部门");
}
});
});

执行js里的URL,这个程式写在控制器里:

[Description("根据部门获取职位")] [AcceptVerbs(HttpVerbs.Get)] [LoginAllowView] public ActionResult GetJobByDept(string dept)
{
if (String.IsNullOrEmpty(dept))
{
throw new ArgumentNullException("dept");
}
StringBuilder sb = new StringBuilder();
sb = new StringBuilder();
sb.Append(" SELECT jobid,jobname ");
sb.Append(" FROM job_file ");
sb.Append(" LEFT JOIN dept_file ON jobdept = deptid ");
sb.AppendFormat(" WHERE deptid='{0}'", dept);
DataTable dt = sqlHelper.getData(sb.ToString());
var result = dt.AsEnumerable().Select(row => new Item
{
Name = Utils.ObjToStr(row["jobname"]),
Id = Utils.ObjToInt(row["jobid"], 0)
}).ToList();
return Json(result, JsonRequestBehavior.AllowGet);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

您可能感兴趣的文章:详解ASP.NET MVC之下拉框绑定四种方式ASP.NET MVC下拉框联动实例解析asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法基于MVC3方式实现下拉列表联动(JQuery)asp.net 自制的单选、多选列表实现代码在.net中用CheckBoxList实现单选asp.net中js+jquery添加下拉框值和后台获取示例ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法asp.net 实现下拉框只读功能MVC5下拉框绑定的方法(单选)

MVC
下拉框
联动

相关文章
asp.net(C#)中给控件添加客户端js事件的方法今天做一个输入界面,有一需求根据一个DropDownList选择不同,后面部分出现不同的输入界面,若把响应事件放在服务端去做,得频繁刷页面。就想放在客户来处理显示和隐藏相应的输入界面。
2010-03-03
数据绑定之DataFormatString使用介绍DataFormatString是很多Asp.Net控件都有的属性,如GridView等等,下面简单介绍一下这个属性,感兴趣的朋友不要错过 2013-10-10
visual Studio 2017创建简单控制台程序这篇文章主要为大家详细介绍了visual Studio 2017创建简单控制台程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2018-11-11
asp.net中DetailsView的使用方法asp.net中DetailsView的使用方法,需要的朋友可以参考下。 2010-10-10
ASP.NET中application对象的使用介绍这篇文章主要介绍了ASP.NET中application对象的使用,需要的朋友可以参考下 2014-04-04
ASP.NET实现二维码(QRCode)的创建和读取实例这篇文章主要介绍了ASP.NET实现二维码(QRCode)的创建和读取实例,分析了二维码的实现原理与完整的代码实现步骤,具有一定参考借鉴价值,需要的朋友可以参考下 2015-01-01
浅谈对Lambda表达式的理解“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。 2015-07-07
C# Math.Round()函数问题Math.Round()准确的说,这个函数不是四舍五入,而是四舍六入五凑偶,就是说小于4或大于6的该舍该入是没有争议的,而5处在正中间,如果四舍五入则会造成数据的整体偏差,所以采取的原则是:如果舍入位为5,则舍入后最后一位为偶数,这是国际惯例。 2008-12-12
Asp.Net 网站性能优化之缓字决 (上) 缓冲写数据通常情况下Asp.Net 网站的底层数据存储都是关系数据库,关系数据库资源比较昂贵,而且也很容易造成瓶颈。缓字决文章就是为大家介绍如何有效使用缓存,异步写缓冲数据库的压力,从而保证网站的性能。 2010-06-06
将datagrid控件内容输出到excel文件一个将datagrid控件内容输出到excel文件的demo,感兴趣的朋友可以了解下或许对你学习datagrid控件相关有所帮助 2006-09-09

最新评论

本文由 华域联盟 原创撰写:华域联盟 » MVC实现下拉框联动效果(单选)

转载请保留出处和原文链接:https://www.cnhackhy.com/5826.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者:

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部