解决思路:

在数据库中建立类型字典式表。将下拉框需要添加的项,在数据库表里中文、英文名称对应起来。

下拉框动态绑定数据库表中需要字段。

  1. <div id="bgDiv" style="display:none;"></div>
  2. <a  class="btn-lit" href="javascript:"  onclick="bgDiv.style.display='inline';advancedQuery.style.display='';addItems()"><span>高级查询</span></a>

在高级查询单击事件中,除了显示查询框外,添加下拉框绑定字段的函数。此处为addItems().

实现代码:

  1. <script type="text/javascript">
  2. //动态绑定下拉框项
  3. function addItems() {
  4. $.ajax({
  5. url: "addItem.ashx/GetItem",    //后台webservice里的方法名称
  6. type: "post",
  7. dataType: "json",
  8. contentType: "application/json",
  9. traditional: true,
  10. success: function (data) {
  11. for (var i in data) {
  12. var jsonObj =data[i];
  13. var optionstring = "";
  14. for (var j = 0; j < jsonObj.length; j++) {
  15. optionstring += "<option value=\"" + jsonObj[j].ID + "\" >" + jsonObj[j].chinesename + "</option>";
  16. }
  17. $("#dpdField1").html("<option value='请选择'>请选择...</option> "+optionstring);
  18. }
  19. },
  20. error: function (msg) {
  21. alert("出错了!");
  22. }
  23. });
  24. };
  25. </script>

后台代码:

  1. public void ProcessRequest(HttpContext context)
  2. {
  3. //context.Response.ContentType = "text/plain";
  4. //context.Response.Write("Hello World");
  5. GetItem(context);
  6. }
  7. public void GetItem(HttpContext context)
  8. {
  9. string ReturnValue = string.Empty;
  10. BasicInformationFacade basicInformationFacade = new BasicInformationFacade();   //实例化基础信息外观
  11. DataTable dt = new DataTable();
  12. dt = basicInformationFacade.itemsQuery(); //根据查询条件获取结果
  13. ReturnValue = DataTableJson(dt);
  14. context.Response.ContentType = "text/plain";
  15. context.Response.Write(ReturnValue);
  16. //return ReturnValue;
  17. }
  1. #region dataTable转换成Json格式
  2. /// <summary>
  3. /// dataTable转换成Json格式
  4. /// </summary>
  5. /// <param name="dt"></param>
  6. /// <returns></returns>
  7. public string DataTableJson(DataTable dt)
  8. {
  9. StringBuilder jsonBuilder = new StringBuilder();
  10. jsonBuilder.Append("{\"");
  11. jsonBuilder.Append(dt.TableName.ToString());
  12. jsonBuilder.Append("\":[");
  13. for (int i = 0; i < dt.Rows.Count; i++)
  14. {
  15. jsonBuilder.Append("{");
  16. for (int j = 0; j < dt.Columns.Count; j++)
  17. {
  18. jsonBuilder.Append("\"");
  19. jsonBuilder.Append(dt.Columns[j].ColumnName);
  20. jsonBuilder.Append("\":\"");
  21. jsonBuilder.Append(dt.Rows[i][j].ToString());
  22. jsonBuilder.Append("\",");
  23. }
  24. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  25. jsonBuilder.Append("},");
  26. }
  27. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  28. jsonBuilder.Append("]");
  29. jsonBuilder.Append("}");
  30. return jsonBuilder.ToString();
  31. }
  32. #endregion

利用Ajax、json给前台页面中的select绑定数据源。后台通过两个函数,分别获得数据库表的数据,将数据转为Json格式返回给前台。前台在接收数据后,将数据进行解析,获得下拉框中需要绑定的字段。在绑定时,下拉框的每一项都分别绑定一个文本、value值。文本用于显示,供用户选择。value值,是用户选择了某个字段,取得这个字段的value值,进行后台的查询字段。

(转)Jquery+Ajax实现Select动态定数据的更多相关文章

  1. Jquery+Ajax实现Select动态添加数据

    https://blog.csdn.net/zhengxiangwen/article/details/46480687 最近在工作中,遇到了一个关于select的问题.一般情况下,select下拉框 ...

  2. 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

    jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...

  3. Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面

    一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...

  4. 用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误

    通过 ajax() 与 一般处理程序,请求数据库数据,实现界面无刷新. Jquery ajax 请求参数详细说明 http://www.w3school.com.cn/jquery/ajax_ajax ...

  5. java--jsp+ssh+select动态结合数据和选择(解)

    在三层体系结构和jsp合并项目,如何实现select动态绑定数据和动态选择指定的行?让我们来看看下面的: 1.首先定义一个Bean分类.它用于实例select的结合数据中的每一个id和name: pu ...

  6. jquery ajax生成Select

    function DropDownList(url, domId, defaultValue) {    /// <summary>    /// ajax生成select    /// ...

  7. SharePoint 2010 以Jquery Ajax方式更新SharePoint列表数据!

    之前本人的博客介绍了<sharepoint 2010自定义访问日志列表设置移动终端否和客户端访问系统等计算列的公式>,那如何通过Jquery提交访问日志到自定义的SharePoint的访问 ...

  8. 使用Jquery.AJAX方法和PHP后台数据交互小结

    使用jQuery的AJAX方法和后台PHP进行数据交互,交互采用的数据格式JSON格式. 我主要小小的总结了一下,我使用AJAX方法时候遇到一些小小的问题. 第一:在传递数据的时候,传输地址注意是否正 ...

  9. jQuery Ajax遍历表格,填充数据,将表格中的数据一条一条拼成Jason数组

    $.ajax({ url: baseURL + "InvoiceSale/OnQuotaInvoiceSale", //点击核销单号时,点击核销时,交互的页面           ...

随机推荐

  1. MySQL-InnoDB锁(一)

    本文主要记录InnoDB存储引擎中锁的关键点,下篇文章通过实例确认加锁的范围. InnoDB中的锁 1. 锁提供数据完整性和一致性 2. InnoDB行级锁:共享锁(S)和排他锁(X). 为了支持多粒 ...

  2. vue中 请求拦截 响应拦截设置

    第一,在项目的src中新建http.js文件,将以下代码复制进去 import axios from 'axios' import { Message, Loading } from 'element ...

  3. 提示 ToolTip

    <StackPanel> <Button Content="按钮1" ToolTip="这是个按钮1" HorizontalAlignment ...

  4. maven的概念-01

    1.maven 简介 maven是Apach软件基金会维护的一款自动化构建工具: 作用是服务于java平台的项目构建和依赖管理:   2.关于项目构建 1)java代码 Java是一门编译型语言,.j ...

  5. LabVIEW:可执行文件运行缺少运行库问题

    造冰箱的大熊猫@cnblogs 2018/5/11 上周调试设备网口犯了一个低级错误,今天又搞出一个笑话 目标机上没有LabVIEW开发环境,于是在开发机上将VI打包成可执行程序.在目标机上运行可执行 ...

  6. hihocoder 1457 后缀自动机四·重复旋律7 ( 多串连接处理技巧 )

    题目链接 分析 : 这道题对于单个串的用 SAM 然后想想怎么维护就行了 但是多个串下.可以先将所有的串用一个不在字符集( 这道题的字符集是 '0' ~ '9' ) 链接起来.建立后缀自动机之后 在统 ...

  7. 免费馅饼~-~ (hdu 1176

    当我准备要写这个随笔的时候是需要勇气的. 掉馅饼嘛,肯定是坑. (hdu1176 话说,gameboy人品太好,放学回家路上有馅饼可捡.还就在0~10这11个位置里,当馅饼开始掉的时候,gameboy ...

  8. JavaWeb_(Hibernate框架)Hibernate中事务

    Hibernate中事务 事务的性质 事物的隔离级别 配置事务的隔离级别 事务的性质 原子性:原子,不可再分,一个操作不能分为更小的操作,要么全都执行,要么全不执行. 一致性:事务在完成时,必须使得所 ...

  9. nvidia-smi 实时刷新 实时显示显存使用情况

    watch -n 0.5 -d nvidia-smi     #每隔0.5秒刷新一次

  10. Nginx-rtmp之监听端口的管理

    1. 概述 监听端口属于 server 虚拟主机,它是由 server{} 块下的 listen 配置项决定的. 每监听一个 TCP 端口,都将使用一个独立的 ngx_rtmp_conf_port_t ...