jQuery+ajax實(shí)現(xiàn)無刷新級聯(lián)菜單示例
前臺(tái)用AJAX直接調(diào)用后臺(tái)方法,老有人發(fā)帖提問,沒事做個(gè)示例
下面是做的一個(gè)前臺(tái)用JQUERY,AJAX調(diào)用后臺(tái)方法做的無刷新級聯(lián)菜單
CasMenu.aspx頁面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>Porschev--前臺(tái)JS(Jquery)調(diào)用后臺(tái)方法 級聯(lián)菜單</title> <script src="js/jquery-1.3.2-vsdoc.js" mce_src="js/jquery-1.3.2-vsdoc.js" type="text/javascript"></mce:script> <script type="text/javascript"> $(function() { $("#selPro").change(function() { //省份下拉菜單的change事件 var params = '{str:"' + $(this).val() + '"}'; //此處參數(shù)名要注意和后臺(tái)方法參數(shù)名要一致 $.ajax({ type: "POST", //提交方式 url: "CasMenu.aspx/ShowCity", //提交的頁面/方法名 data: params, //參數(shù)(如果沒有參數(shù):null) dataType: "text", //類型 contentType: "application/json; charset=utf-8", beforeSend: function(XMLHttpRequest) { $('#tipsDiv').text("正在查詢..."); }, success: function(msg) { $('#tipsDiv').text("查詢成功!"); $("#selCity option").each(function() { $(this).remove(); //移除原有項(xiàng) }); $("<option value='0'>===請選擇===</option>").appendTo("#selCity"); //添加一個(gè)默認(rèn)項(xiàng) $(eval("(" + msg + ")").d).appendTo("#selCity"); //將返回來的項(xiàng)添加到下拉菜單中 }, error: function(xhr, msg, e) { alert("error"); } }); }); }); </script> </head> <body> <form id="form1" runat="server"> <div> Porschev--前臺(tái)JS(Jquery)調(diào)用后臺(tái)方法 級聯(lián)菜單<br /> <br /> <select id="selPro" name="selPro"> <%=strPro %> </select>省(直轄市) <select id="selCity" name="selCity"> <option value="0">===請選擇===</option> </select>(市) </div> <div id="tipsDiv"> </div> </form> </body> </html>
CasMenu.aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CasMenuModels; using CasMenuBLL; using System.Text; public partial class _Default : System.Web.UI.Page { public static string strPro = string.Empty; //省份下拉項(xiàng) public static string strCity = string.Empty; //城市下拉項(xiàng) protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } ShowPro(); } #region##省份下拉列表框 /// <summary> /// 省份下拉列表框 /// </summary> /// <returns></returns> public string ShowPro() { StringBuilder str = new StringBuilder(); //得到所有省份集合 List<CasMenuModels.Province> list = new CasMenuBLL.ProvinceManager().GetAllProvince(); //添加一個(gè)初始項(xiàng) str.Append("<option value=\""); str.Append("0"); str.Append("\">"); str.Append("===請選擇==="); str.Append("</option>"); //循環(huán)追加省份下拉項(xiàng) foreach (CasMenuModels.Province p in list) { str.Append("<option value=\""); str.Append(p.ProvinceId); str.Append("\">"); str.Append(p.ProvinceName); str.Append("</option>"); } return strPro = str.ToString(); } #endregion #region##城市下拉列表框 /// <summary> /// 城市下拉列表框 /// </summary> /// <param name="str">省份ID</param> /// <returns></returns> [System.Web.Services.WebMethod()] public static string ShowCity(string str) //方法是靜態(tài)的 { StringBuilder strCi = new StringBuilder(); if (str == "0") //為初始項(xiàng) { strCi.Append("<option value=\""); strCi.Append("請選擇"); strCi.Append("\">"); strCi.Append("請選擇"); strCi.Append("</option>"); } else { List<CasMenuModels.City> list = new CasMenuBLL.CityManager().GetAllByProId(Convert.ToInt32(str)); //根據(jù)省份ID得到城市集合 foreach (City c in list) { strCi.Append("<option value=\""); strCi.Append(c.CityId); strCi.Append("\">"); strCi.Append(c.CityName); strCi.Append("</option>"); } } return strCity = strCi.ToString(); } #endregion }
要注意的地方我都有注釋,
當(dāng)然前臺(tái)調(diào)入后臺(tái)方法遠(yuǎn)不止這一種,比如還有AJAXPRO也很好用
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
- Ajax級聯(lián)菜單實(shí)例代碼
- 前臺(tái)JS(jquery ajax)調(diào)用后臺(tái)方法實(shí)現(xiàn)無刷新級聯(lián)菜單示例
- AJAX 二級級聯(lián)菜單實(shí)現(xiàn)代碼
- Ajax+Json 級聯(lián)菜單實(shí)現(xiàn)代碼
- AJAX實(shí)現(xiàn)web頁面中級聯(lián)菜單的設(shè)計(jì)
- ThinkPHP使用心得分享-ThinkPHP + Ajax 實(shí)現(xiàn)2級聯(lián)動(dòng)下拉菜單
- 利用了jquery的ajax實(shí)現(xiàn)二級聯(lián)互動(dòng)菜單
- ajax讀取數(shù)據(jù)庫內(nèi)容實(shí)現(xiàn)二級聯(lián)動(dòng)下拉選擇菜單示例
- Javascript級聯(lián)下拉菜單以及AJAX數(shù)據(jù)驗(yàn)證核心代碼
- 基于asp+ajax和數(shù)據(jù)庫驅(qū)動(dòng)的二級聯(lián)動(dòng)菜單
- 一個(gè)強(qiáng)健 實(shí)用的asp+ajax二級聯(lián)動(dòng)菜單(有演示和附源程序打包下載)
- ajax級聯(lián)菜單實(shí)現(xiàn)方法實(shí)例分析
相關(guān)文章
jQuery實(shí)現(xiàn)的背景顏色漸變動(dòng)畫效果示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的背景顏色漸變動(dòng)畫效果,涉及事件響應(yīng)及頁面元素屬性結(jié)合時(shí)間動(dòng)態(tài)變換的相關(guān)操作技巧,需要的朋友可以參考下2017-03-03jQuery實(shí)現(xiàn)百葉窗焦點(diǎn)圖動(dòng)畫效果代碼分享(附源碼下載)
這篇文章主要介紹了jQuery實(shí)現(xiàn)百葉窗焦點(diǎn)圖動(dòng)畫效果代碼分享(附源碼下載)的相關(guān)資料,需要的朋友可以參考下2016-03-03jQuery 定時(shí)局部刷新(setInterval)
jQuery 定時(shí)局部刷新(setInterval),這里是顯示時(shí)間的效果代碼。2010-11-11Jquery 最近瀏覽過的商品的功能實(shí)現(xiàn)代碼
Jquery 最近瀏覽過的商品的功能實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-05-05jQuery EasyUI tree增加搜索功能的實(shí)現(xiàn)方法
擴(kuò)展jQuery EasyUI tree搜索樹節(jié)點(diǎn)的方法,使其支持節(jié)點(diǎn)名稱的模糊匹配,將不匹配的節(jié)點(diǎn)隱藏。下面通過本文給大家分享jQuery EasyUI tree增加搜索功能,需要的朋友可以參考下2017-04-04JQuery獲取各種寬度、高度(format函數(shù))實(shí)例
本例除了使用標(biāo)準(zhǔn)的JQuery類庫外,還添加了自定義的函數(shù)來進(jìn)行字符串的format操作。2013-03-03