zoukankan      html  css  js  c++  java
  • Ajax动态加载数据

    前言:

    1.这个随笔实现了一个Ajax动态加载的例子。

    2.使用.net 的MVC框架实现。

    3.这个例子重点在前后台交互,其它略写。

    开始:

    1.控制器ActionResult代码(用于显示页面)

            /// <summary>
            /// 电话查询页面
            /// </summary>
            /// <returns></returns>
            public ActionResult PhoneSearch(string sql)
            {
               phoneList=从数据库查询数据;
                ViewBag.phoneList = phoneList;
                return View();
            }

    2.前台页面主要代码

    说明:这个就是要展示数据的表格,里面的字段要和你建好的模型匹配。

    <table border="1" cellspacing="0" cellpadding="0" class="toLang" id="phoneTable">
                                <tr>
                                    <th>序号</th>
                                    <th>公司</th>
                                    <th>部门</th>
                                    <th>小组</th>
                                    <th>姓名</th>
                                    <th>职位</th>
                                    <th>电话</th>
                                </tr>
                                <tbody id="todeListTBODY">
                                    @if (ViewBag.phoneList != null)
                                {
                                    foreach (var item in ViewBag.phoneList)
                                    {
                                        number = number + 1;
                                <tr>
                                    <td>@number</td>
                                    <td>@item.Conpany</td>
                                    <td>@item.Department</td>
                                    <td>@item.Team</td>
                                     <td>@item.Name</td>
                                     <td>@item.Position</td>
                                     <td>@item.PhoneNumber</td>
                                        </tr>
                                    }
                                }
                                </tbody>
                            </table>
    View Code

    3.我的查询条件

     <div style="display:block;float:left; 100%; ">
                        公司:
                        <select class="InputTestStyle" id="company" onclick="initDeptSelect()">
                            <option>==请选择公司==</option>
                        </select>
                        部门:
                        <select class="InputTestStyle" id="department" onclick="initGroupSelect()">
                            <option>==请选择公司==</option>
                        </select>
                        小组:
                        <select class="InputTestStyle" id="group" onclick="QueryPhoneNum()">
                            <option>==请选择公司==</option>
                        </select>
     </div>

    4.查询条件的初始化(以公司这个为例)

    4.1前台的JavaScript代码

        //打开页面的时候执行
        window.onunload = initCompanySelect();
        //初始化“公司”下拉框
        function initCompanySelect()
        {
            $.ajax({
                type: 'POST',
                url: '/Home/GetCompantListForPhone',
                dataType: 'json',
                data: { },
                success: function (data) {
                    //1.清空这个下拉框的数据
                    // $('#company option').remove();//也能成功实现
                    $('#company').empty();
                    $("#company").append($('<option>' + '==请选择公司==' + '</option>'));
                    //2.将返回值动态加载进下拉框,动态生成标签。
                    for (i = 0; i < data.length;i++)
                    {
                        $("#company").append($('<option >' + data[i].Conpany + '</option>'));
                    }
                },
                error: function (XMLHttpRequest, textStatus, errorThown) {
                    alert("操作失败!");
                }
            })
        }

    4.2初始化下拉框对应的ActionResult代码

            /// <summary>
            /// 获取电话查询公司下拉数据
            /// </summary>
            /// <returns></returns>
            [HttpPost]
            public JsonResult GetCompantListForPhone()
            {
               
                compantList = 从数据库获取这个下拉框数据的集合;
                return Json(compantList);
            }
    

    其它两个下拉框按照这个办法完成后。就可以根据条件查询了。下面两个是对用的JavaScript和后台方法。

    5.传查询提交到后台,然后根据返回的集合重新给table赋值。

     //根据条件查询电话
        function QueryPhoneNum()
        {
            if ($('#group').val() == '==请选择小组==')
            {
                return;
            }
            number = 0;
            $.ajax({
                type: 'POST',
                url: '/Home/PhoneSearchSubmit',
                dataType: 'json',
                data: {
                    company:$('#company').val(),
                    dept: $('#department').val(),
                    group: $('#group').val()
                },
                success: function (phoneList) {
                    //1.清空这个表格的数据
                    $('#todeListTBODY tr').remove();
                   
                    //2.将返回值动态加载进表格。
                    $.each(phoneList, function (index, element) {
                        number = number + 1;
                        $('#todeListTBODY').prepend(function (i) {
                            return "<tr>" +
                                   "<td>" +number +
                                   "<td>" + element.Conpany +
                                   "<td>" + element.Department +
                                   "<td>" + element.Team +
                                   "<td>" + element.Name +
                                   "<td>" + element.Position +
                                   "<td>" + element.PhoneNumber +
                                   "</tr>";
                        })
                    })
                },
                error: function (XMLHttpRequest, textStatus, errorThown) {
                    alert("操作失败!");
                }
            })
        }
    

    5.1与查询数据对应的ActionResult

            /// <summary>
            /// 电话查询
            /// </summary>
            /// <returns></returns>
            [HttpPost]
            public JsonResult PhoneSearchSubmit(string company, string dept, string group)
            {
                phoneList = 根据条件查询数据;
                return Json(phoneList);
            }
  • 相关阅读:
    Spring Bean的生命周期
    使用docker安装虚拟机并打开ssh连接
    查看/设置JVM使用的垃圾收集器
    使用Apollo动态修改线上数据源
    java8之lambda表达式
    Java8之Stream
    @Bean 的用法
    Java中的Filter过滤器
    详解tomcat的连接数与线程池
    什么是ClassLoader
  • 原文地址:https://www.cnblogs.com/Cui-Shi-Yu/p/6842825.html
Copyright © 2011-2022 走看看