(转)Jquery+Ajax实现Select动态定数据
解决思路:
在数据库中建立类型字典式表。将下拉框需要添加的项,在数据库表里中文、英文名称对应起来。
下拉框动态绑定数据库表中需要字段。
- <div id="bgDiv" style="display:none;"></div>
- <a class="btn-lit" href="javascript:" onclick="bgDiv.style.display='inline';advancedQuery.style.display='';addItems()"><span>高级查询</span></a>
在高级查询单击事件中,除了显示查询框外,添加下拉框绑定字段的函数。此处为addItems().
实现代码:
- <script type="text/javascript">
- //动态绑定下拉框项
- function addItems() {
- $.ajax({
- url: "addItem.ashx/GetItem", //后台webservice里的方法名称
- type: "post",
- dataType: "json",
- contentType: "application/json",
- traditional: true,
- success: function (data) {
- for (var i in data) {
- var jsonObj =data[i];
- var optionstring = "";
- for (var j = 0; j < jsonObj.length; j++) {
- optionstring += "<option value=\"" + jsonObj[j].ID + "\" >" + jsonObj[j].chinesename + "</option>";
- }
- $("#dpdField1").html("<option value='请选择'>请选择...</option> "+optionstring);
- }
- },
- error: function (msg) {
- alert("出错了!");
- }
- });
- };
- </script>
后台代码:
- public void ProcessRequest(HttpContext context)
- {
- //context.Response.ContentType = "text/plain";
- //context.Response.Write("Hello World");
- GetItem(context);
- }
- public void GetItem(HttpContext context)
- {
- string ReturnValue = string.Empty;
- BasicInformationFacade basicInformationFacade = new BasicInformationFacade(); //实例化基础信息外观
- DataTable dt = new DataTable();
- dt = basicInformationFacade.itemsQuery(); //根据查询条件获取结果
- ReturnValue = DataTableJson(dt);
- context.Response.ContentType = "text/plain";
- context.Response.Write(ReturnValue);
- //return ReturnValue;
- }
- #region dataTable转换成Json格式
- /// <summary>
- /// dataTable转换成Json格式
- /// </summary>
- /// <param name="dt"></param>
- /// <returns></returns>
- public string DataTableJson(DataTable dt)
- {
- StringBuilder jsonBuilder = new StringBuilder();
- jsonBuilder.Append("{\"");
- jsonBuilder.Append(dt.TableName.ToString());
- jsonBuilder.Append("\":[");
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- jsonBuilder.Append("{");
- for (int j = 0; j < dt.Columns.Count; j++)
- {
- jsonBuilder.Append("\"");
- jsonBuilder.Append(dt.Columns[j].ColumnName);
- jsonBuilder.Append("\":\"");
- jsonBuilder.Append(dt.Rows[i][j].ToString());
- jsonBuilder.Append("\",");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("},");
- }
- jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
- jsonBuilder.Append("]");
- jsonBuilder.Append("}");
- return jsonBuilder.ToString();
- }
- #endregion
利用Ajax、json给前台页面中的select绑定数据源。后台通过两个函数,分别获得数据库表的数据,将数据转为Json格式返回给前台。前台在接收数据后,将数据进行解析,获得下拉框中需要绑定的字段。在绑定时,下拉框的每一项都分别绑定一个文本、value值。文本用于显示,供用户选择。value值,是用户选择了某个字段,取得这个字段的value值,进行后台的查询字段。
(转)Jquery+Ajax实现Select动态定数据的更多相关文章
- Jquery+Ajax实现Select动态添加数据
https://blog.csdn.net/zhengxiangwen/article/details/46480687 最近在工作中,遇到了一个关于select的问题.一般情况下,select下拉框 ...
- 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据
jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...
- Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面
一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...
- 用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误
通过 ajax() 与 一般处理程序,请求数据库数据,实现界面无刷新. Jquery ajax 请求参数详细说明 http://www.w3school.com.cn/jquery/ajax_ajax ...
- java--jsp+ssh+select动态结合数据和选择(解)
在三层体系结构和jsp合并项目,如何实现select动态绑定数据和动态选择指定的行?让我们来看看下面的: 1.首先定义一个Bean分类.它用于实例select的结合数据中的每一个id和name: pu ...
- jquery ajax生成Select
function DropDownList(url, domId, defaultValue) { /// <summary> /// ajax生成select /// ...
- SharePoint 2010 以Jquery Ajax方式更新SharePoint列表数据!
之前本人的博客介绍了<sharepoint 2010自定义访问日志列表设置移动终端否和客户端访问系统等计算列的公式>,那如何通过Jquery提交访问日志到自定义的SharePoint的访问 ...
- 使用Jquery.AJAX方法和PHP后台数据交互小结
使用jQuery的AJAX方法和后台PHP进行数据交互,交互采用的数据格式JSON格式. 我主要小小的总结了一下,我使用AJAX方法时候遇到一些小小的问题. 第一:在传递数据的时候,传输地址注意是否正 ...
- jQuery Ajax遍历表格,填充数据,将表格中的数据一条一条拼成Jason数组
$.ajax({ url: baseURL + "InvoiceSale/OnQuotaInvoiceSale", //点击核销单号时,点击核销时,交互的页面 ...
随机推荐
- webuploader如何判断是否上传的是空文件?
在'beforeFileQueued'事件中可以判断: // 当有文件被添加进队列的时候 uploader.on( 'beforeFileQueued', function( file ) { if( ...
- (转载)了解Android 4.1,之三:黄油项目 —— 运作机理及新鲜玩意
Welcome back to GTKA, everyone's favorite investigative series where we learn all about the newest v ...
- 使用Navicat客户端运行SQL语句出现中文乱码
出现乱码无非就是编码方式不统一造成的,通过查阅资料解决了问题. (简 体中文系统环境支持国标 GB2312.GB18030 和 Unicode (UTF-8) 编码.它们在系统中设置的locale(亦 ...
- 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 输入二个 ...
- java中jsp的EL的定义以及使用
1.定义: EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方 ...
- Django-rbac权限
1.注册应用rbac 2.设计表 权限表 角色表 用户表 不同角色有不同的权限,给每个用户分配不同的角色(一个用户可以有多个角色) 3.数据注入 将数据注入在rbac中封装成一个函数 4.权限认证是在 ...
- python3笔记二十:时间操作time
一:学习内容 time时间戳 time元组 time字符串 time时间转换图解 二:time 需要引入:import time 1.概念 UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中 ...
- Ngrinder 源码之Maven 项目
Ngrinder支持Maven结构的测试脚本.使用ScriptHandlerFactory来个脚本选择处理器handler,目前有JythonScriptHandler, GroovyScriptHa ...
- Java Jsch SFTP 递归下载文件夹
Java Program For Downloading Folder Content recursively from SFTP Server How to download folder from ...
- ILSpy C# language support status
C# language support status Asynchronous methods 已经支持 Generalized async return types 还不支持 Async main ...