博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web开发框架使用Ajax实现dropdownlist联动
阅读量:4552 次
发布时间:2019-06-08

本文共 2221 字,大约阅读时间需要 7 分钟。

Html下拉框主要体现在select标签和option标签, 中我们使用mvc html扩展方法@Html.DropDownListFor()来 轻松绑定下拉列表属性值,我们已一段代码说明给下拉列表来怎么动态赋值。
说明
页面代码
数据模型
Ajax联动
后台action
结语
说明

我们通过Web开发框架两个下拉列表赋值案例来说明,下拉框1值通过属性值绑定AvailableCategories直接从后台获取,下拉框2值SensorList实现与下拉框1值变化而联动。

页面代码
@Html.DropDownListFor(model => model.Cid, Model.AvailableCategories, new { @class = "form-control" })
@Html.DropDownListFor(model => model.Sensor, Model.SensorList, new { @class = "form-control" })

  

数据模型
/// /// 下拉框1/// public IList
AvailableCategories { get; set; }///
/// 下拉框1值/// [NopResourceDisplayName("Search.Category")]public int Cid { get; set; }///
/// 下拉框2/// public List
SensorList { get; set; }///
/// 下拉框2值/// [AllowHtml]public string Sensor { get; set; }Ajax联动$(function () {$('#Cid').change(function () {var data = "cid=" + $(this).val();var disoptioan = {url: "@Url.Action("GetCamaraSensors", "Catalog")",type: 'Get',dataType: 'json',data: data,context: this,success: function (result) {$("#Sensor").empty();for (var i = 0; i < result.length; i++) {var text = result[i].Text;var value = result[i].Value;$("#Sensor").append(new Option(text, value));}}};$.ajax(disoptioan);});});

  

后台action
public ActionResult GetCamaraSensors(int cid){IList
sensorsList = new List
();sensorsList.Add(new SelectListItem { Text = _localizationService.GetResource("common.selected"), Value = "0" });List
productCategories = _categoryService.GetProductCategoriesByCategoryId(cid, 0, int.MaxValue).ToList();productCategories.ForEach(p =>{sensorsList.Add(new SelectListItem { Text = p.Product.Name, Value = p.ProductId.ToString() });});return Json(sensorsList, JsonRequestBehavior.AllowGet);}

  

结语

1、AvailableCategories中SelectListItem是一个有text和mvalue特性的类,web开发平台中通过ViewModel绑定赋值给下拉框1。

2、SensorList中SelectListItem是一个有text和mvalue特性的类,通过Ajax异步从后台获取列表值后动态绑定赋值给下拉框2。
3、Web开发框架Ajax代码说明:下拉框1值改变后触发js change事件,通过ajax异步提交查询获取查询结果,success回调函数中赋值给下拉框2。
4、运行结果:

web框架下拉框1结果
下拉框2结果

 

转载于:https://www.cnblogs.com/bdft/p/10188615.html

你可能感兴趣的文章
网络体系结构
查看>>
练习4.13、4.14、4.15、4.16
查看>>
根据数据库连接,登录操作系统的一个方法
查看>>
yii 常用的多表查询
查看>>
带符号的整数做减法
查看>>
Cmder之vim配置
查看>>
SAP库龄表
查看>>
tomcat加密
查看>>
WebDriver的工作原理
查看>>
js call 理解
查看>>
ES6笔记01
查看>>
凯撒密码、GDP格式化输出、99乘法表
查看>>
linux下获取外网IP
查看>>
引用阿里巴巴图标库
查看>>
【学步者日记】实现破碎效果 Fracturing & Destruction 插件使用
查看>>
迷宫全解
查看>>
flex布局,如果其中一个过宽,会影响另个一的
查看>>
js---加入收藏夹
查看>>
泛型的优点
查看>>
一个研究生毕业以后的人生规划
查看>>