Ajax实现动态加载数据
程序员文章站
2022-03-04 17:06:57
前言:
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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。