当前位置: 移动技术网 > IT编程>脚本编程>Ajax > Ajax实现动态加载数据

Ajax实现动态加载数据

2017年12月08日  | 移动技术网IT编程  | 我要评论
前言: 1.这个随笔实现了一个ajax动态加载的例子。 2.使用.net 的mvc框架实现。 3.这个例子重点在前后台交互,其它略写。 开始: 1.控制器acti

前言:

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);
}

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网