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

发布时间 - 2026-01-11 02:06:33    点击率:

下拉框联动效果,我们以部门--职位为例,选择部门时,关联到该部门的职位.下拉框的写法就不多说了,详细请参照前文.

视图:

其中,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);
  }

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


# MVC  # 下拉框  # 联动  # 详解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下拉框绑定的方法(单选)  # 这句  # 的是  # 说了  # 不多  # 很重要  # 请选择  # 为例  # 写在  # 绑定  # 大家多多  # 到该  # 清空  # 器里  # Model 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在香港服务器上快速搭建免备案网站?  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Java垃圾回收器的方法和原理总结  如何用AWS免费套餐快速搭建高效网站?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Android滚轮选择时间控件使用详解  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何撰写建站申请书?关键要点有哪些?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel如何实现多对多模型关联?(Eloquent教程)  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  PythonWeb开发入门教程_Flask快速构建Web应用  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何在万网主机上快速搭建网站?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  python中快速进行多个字符替换的方法小结  Linux后台任务运行方法_nohup与&使用技巧【技巧】  googleplay官方入口在哪里_Google Play官方商店快速入口指南  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  微信小程序 HTTPS报错整理常见问题及解决方案  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Python进程池调度策略_任务分发说明【指导】  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel如何使用Vite进行前端资源打包?(配置示例)  如何挑选优质建站一级代理提升网站排名?  利用python获取某年中每个月的第一天和最后一天  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Firefox Developer Edition开发者版本入口  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  高性能网站服务器部署指南:稳定运行与安全配置优化方案  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何基于云服务器快速搭建网站及云盘系统?  如何快速选择适合个人网站的云服务器配置?  打造顶配客厅影院,这份100寸电视推荐名单请查收  如何获取免费开源的自助建站系统源码?  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  大同网页,大同瑞慈医院官网?  手机软键盘弹出时影响布局的解决方法  如何在宝塔面板创建新站点?  C#如何调用原生C++ COM对象详解