Ajax實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)
前言:
1.這個(gè)隨筆實(shí)現(xiàn)了一個(gè)Ajax動(dòng)態(tài)加載的例子。
2.使用.net 的MVC框架實(shí)現(xiàn)。
3.這個(gè)例子重點(diǎn)在前后臺(tái)交互,其它略寫。
開始:
1.控制器ActionResult代碼(用于顯示頁(yè)面)
/// <summary> /// 電話查詢頁(yè)面 /// </summary> /// <returns></returns> public ActionResult PhoneSearch(string sql) { phoneList=從數(shù)據(jù)庫(kù)查詢數(shù)據(jù); ViewBag.phoneList = phoneList; return View(); }
2.前臺(tái)頁(yè)面主要代碼
說明:這個(gè)就是要展示數(shù)據(jù)的表格,里面的字段要和你建好的模型匹配。
<table border="1" cellspacing="0" cellpadding="0" class="toLang" id="phoneTable"> <tr> <th>序號(hào)</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>==請(qǐng)選擇公司==</option> </select> 部門: <select class="InputTestStyle" id="department" onclick="initGroupSelect()"> <option>==請(qǐng)選擇公司==</option> </select> 小組: <select class="InputTestStyle" id="group" onclick="QueryPhoneNum()"> <option>==請(qǐng)選擇公司==</option> </select> </div>
4.查詢條件的初始化(以公司這個(gè)為例)
4.1前臺(tái)的JavaScript代碼
//打開頁(yè)面的時(shí)候執(zhí)行 window.onunload = initCompanySelect(); //初始化“公司”下拉框 function initCompanySelect() { $.ajax({ type: 'POST', url: '/Home/GetCompantListForPhone', dataType: 'json', data: { }, success: function (data) { //1.清空這個(gè)下拉框的數(shù)據(jù) // $('#company option').remove();//也能成功實(shí)現(xiàn) $('#company').empty(); $("#company").append($('<option>' + '==請(qǐng)選擇公司==' + '</option>')); //2.將返回值動(dòng)態(tài)加載進(jìn)下拉框,動(dòng)態(tài)生成標(biāo)簽。 for (i = 0; i < data.length;i++) { $("#company").append($('<option >' + data[i].Conpany + '</option>')); } }, error: function (XMLHttpRequest, textStatus, errorThown) { alert("操作失敗!"); } }) }
4.2初始化下拉框?qū)?yīng)的ActionResult代碼
/// <summary> /// 獲取電話查詢公司下拉數(shù)據(jù) /// </summary> /// <returns></returns> [HttpPost] public JsonResult GetCompantListForPhone() { compantList = 從數(shù)據(jù)庫(kù)獲取這個(gè)下拉框數(shù)據(jù)的集合; return Json(compantList); }
其它兩個(gè)下拉框按照這個(gè)辦法完成后。就可以根據(jù)條件查詢了。下面兩個(gè)是對(duì)用的JavaScript和后臺(tái)方法。
5.傳查詢提交到后臺(tái),然后根據(jù)返回的集合重新給table賦值。
//根據(jù)條件查詢電話 function QueryPhoneNum() { if ($('#group').val() == '==請(qǐng)選擇小組==') { 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.清空這個(gè)表格的數(shù)據(jù) $('#todeListTBODY tr').remove(); //2.將返回值動(dòng)態(tài)加載進(jìn)表格。 $.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與查詢數(shù)據(jù)對(duì)應(yīng)的ActionResult
/// <summary> /// 電話查詢 /// </summary> /// <returns></returns> [HttpPost] public JsonResult PhoneSearchSubmit(string company, string dept, string group) { phoneList = 根據(jù)條件查詢數(shù)據(jù); return Json(phoneList); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
按鈕的Ajax請(qǐng)求時(shí)一次點(diǎn)擊兩次提交的解決方法
像ajax請(qǐng)求發(fā)生兩次提交的原因是在執(zhí)行完ajax請(qǐng)求后,并沒有阻止submit的行為,下面小編給大家?guī)?lái)兩種按鈕的ajax請(qǐng)求時(shí)一次點(diǎn)擊兩次提交的解決方法,一起看看吧2016-09-09Ajax輪詢請(qǐng)求狀態(tài)(微信公眾號(hào)帶參數(shù)二維碼登錄網(wǎng)站)
最近做了一個(gè)項(xiàng)目,其中有功能要求通過掃碼微信公眾號(hào)帶參數(shù)的二維碼來(lái)登錄網(wǎng)站,接下來(lái)小編給大家介紹實(shí)現(xiàn)思路及代碼,一起看看吧2016-09-09ajax 操作全局監(jiān)測(cè),用戶session失效的解決方法
下面小編就為大家?guī)?lái)一篇ajax 操作全局監(jiān)測(cè),用戶session失效的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-06-06[ASP.NET Ajax] ECMAScript基礎(chǔ)類以及Asp.net Ajax對(duì)類<Object&a
[ASP.NET Ajax] ECMAScript基礎(chǔ)類以及Asp.net Ajax對(duì)類<Object>的擴(kuò)展...2007-01-01使用Nginx 反向代理來(lái)避免 ajax 跨域請(qǐng)求的方法
這篇文章主要介紹了使用Nginx 反向代理來(lái)避免 ajax 跨域請(qǐng)求的方法的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06ajax實(shí)現(xiàn)分頁(yè)和分頁(yè)查詢
本文主要介紹了ajax實(shí)現(xiàn)分頁(yè)和分頁(yè)查詢的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-03-03Ajax+php實(shí)現(xiàn)商品分類三級(jí)聯(lián)動(dòng)
這篇文章主要介紹了Ajax+php實(shí)現(xiàn)商品分類三級(jí)聯(lián)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08