虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > AJAX相关 > Ajax实现动态加载数据

Ajax实现动态加载数据
类别:AJAX相关   作者:码皇   来源:互联网   点击:

这篇文章主要为大家详细介绍了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>

3.我的查询条件

    <div style="display:block;
    float:left;
    width: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);
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关热词搜索: Ajax动态加载数据 Ajax动态加载 Ajax加载数