本文主要为大家详细介绍了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.我的查询条件
<p 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>
</p>
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实现动态加载组合框实例详解
javascript使用ajax进行checkbox复选框的动态加载
java如何实现动态加载的代码实例
以上就是ajax实现动态加载数据的实力分享的详细内容。