MVC+knocKout.js 实现下拉框级联
数据库:部门表和员工表
在控制器里面的操作:
public ActionResult Index3()
{
ViewBag.departments = new SelectList(getDepartments(),"d_id","d_name");//部门数据
return View();
} private List<department> getDepartments()
{
List<department> list = db.department.ToList();
return list;
} public JsonResult GetEmployye(int departmentId)
{
//通过部门id,获取该部门的员工
var list= db.employee.Where(a => a.e_d_id == departmentId).ToList().Select(a => new SelectListItem(){Text = a.e_name,Value = a.e_id+""}); return Json(list,JsonRequestBehavior.AllowGet);
}
html里面的实现:
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/knockout-2.2.0.debug.js"></script>
<title>Index3</title>
</head>
<body>
<div>
<p>选择部门:@Html.DropDownList("department",ViewBag.departments as SelectList,"请选择",new{onchange="searchEmployee();"})
</p>
<p data-bind="visible: selectOptions().length > 0"></p>
<b style="color:#0094ff">员工:</b>
<select data-bind="options: selectOptions, optionsText: 'Text', optionsValue: 'Value', optionsCaption: '请选择'"></select>
</div>
</body>
<script type="text/javascript">
function ViewModel() {
this.selectOptions = ko.observableArray([]); } var vm = new ViewModel();
ko.applyBindings(vm); function searchEmployee() {
var id = $("#department").val();
$.getJSON(
"@Url.Action("GetEmployye")",
{ departmentId: id },
function (data) {
vm.selectOptions(data);
});
}
</script>
</html>
效果:
MVC+knocKout.js 实现下拉框级联的更多相关文章
- [转]html 下拉框级联
<html> <head> <title>html 下拉框级联</title> <meta charset="UTF-8"/& ...
- MVC实现多选下拉框,保存并显示多选项
在"MVC实现多选下拉框"中,主要是多选下拉框的显示,而实际情况通常是:选择多个选项提交后,需要在编辑页把所有选中的项显示出来. 模拟这样的一个场景:一个车迷可能有多个自己喜欢的汽 ...
- js改变下拉框内容
js改变下拉框内容 CreateTime--2018年4月8日18:47:38 Author:Marydon 适用场景:通常情况下,级联菜单.通过ajax异步获取后台数据改写下拉框内容会有这种需求 ...
- Js获取下拉框选定项的值和文本
Js获取下拉框的值和文本网上提供了2种方法:但有些人很不负责任,他们根本没考虑到浏览器之间的差异导致的错误,导致很多新手琢磨了半天找不出错误! 下面我总结下Firefox和IE下获取下拉框选定项的值和 ...
- JS模拟下拉框select
最近做的一个项目有下拉框 同事都是用的是美化控件,但是用美化控件当然是好 但是网上找的一个控件不知道扩展性怎么样?对以后的维护会不会造成有影响?比如我想增加一个功能或者减少一个功能会不会影响?还有就是 ...
- layui select 下拉框 级联 动态赋值 与获取选中值
//下拉框必须在 class="layui-form" 里 不然监听事件没有作用 <div class="layui-form" > <div ...
- JS 实现下拉框去重
JS 实现下拉框去重 学习内容: 需求 总结: 学习内容: 需求 用 JS 下拉框去重 实现代码 <html> <head> <meta http-equiv=" ...
- JS 实现下拉框回显
JS 实现下拉框回显 学习内容: 需求 总结: 学习内容: 需求 用 JS 实现下拉框回显 实现代码 <!DOCTYPE html> <html lang="en" ...
- MVC实现多选下拉框
借助Chosen Plugin可以实现多选下拉框. 选择多项: 设置选项数量,比如设置最多允许2个选项: 考虑到多选下拉<select multiple="multiple" ...
随机推荐
- .NET LINQ 聚合操作
聚合操作 聚合运算从值集合计算单个值. 从一个月的日温度值计算日平均温度就是聚合运算的一个示例. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 ...
- struts2学习记录
1.对于使用Struts2框架的应用而言,尽量不要让超级链接直接接到某个视图资源,因为这种方式增加了额外的风险.推荐将所有请求都发送给Struts框架,让该框架来处理用户请求,即使只是简单的超级链接. ...
- nginx部分命令
启动nginx start nginx 停止nginx nginx -s stop 重启nginx nginx -s reload 查看版本信息 nginx -v 大写V是查看配置信息 查看nginx ...
- Js中最常见的异常捕捉 TryCatch
今天检查网页的时候因为一段Js报错 导致下面的js没有执行(一个js动态添加的弹窗没有出现) 原因是因为 一个属性本身是undefined 找不到 无法给他赋值 这里的原因很简单 也已经修改好了但是这 ...
- 2015ACM/ICPC亚洲区长春站
5532 Almost Sorted Array 题目大意:给你一个序列,如果它拿掉其中一个数后,可以是该序列成为非递减或非递增序列,则输出YES. 有两种思路,第一种代码比较简单,是LIS,复杂度n ...
- Superslide插件无效的问题
用Superslide像往常那样导入JQ和SuperSlide后,首页焦点图不会变,就像SuperSlide失效了一样,为什么??? 排查了一圈最后发现是JS导入顺序的问题,必须先导入JQ,再导入Su ...
- 四则运算appNABCD模型
团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...
- PHPExcel——读取excel
在网上找了excel读取的一些资料,个人觉得PHPExcel这还是挺好用的,相对比较全的工具. 主要功能是读取上传的excel文件,插入或更新到数据库. iconv("gbk",& ...
- 封锁Skype的广告(非原创)
这个我也忘记在哪看的了 记录一下 好早以前微软收购了Skype 然后Skype就出现广告了.... 好吧废话少说 打开 控制面板 -> 网络和Internet -> Internet选项 ...
- 踩坑事件:不能对基于文本的临时表使用sql insert语句
先来描述一下问题: 如果你是从基于文本的数据源来创建DataFrame的,当你将DataFrame注册为临时表后,如果对这个临时表进行insert into 操作,会抛出异常的. 问题答案参见:htt ...