麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

基于MVC3方式實(shí)現(xiàn)下拉列表聯(lián)動(dòng)(JQuery)

2019-11-20 22:20:38
字體:
供稿:網(wǎng)友
上次項(xiàng)目中遇到一個(gè)需要多個(gè)下拉列表聯(lián)動(dòng)的操作,今天有空將實(shí)現(xiàn)方式整理以便以后參考。
要達(dá)到的效果是,點(diǎn)擊一個(gè)下拉框,則另一個(gè)下拉框的值發(fā)生對應(yīng)變化。如:選擇中國,則另個(gè)一下拉框里顯示中國各個(gè)省份。
傳統(tǒng)的HTML方式比較簡單,實(shí)際上基于MVC的實(shí)現(xiàn)方式也大同小異。

直接上代碼:
復(fù)制代碼 代碼如下:

public class DP_Provice
{
public int proviceID { get; set; }
public string ProviceName { get; set; }
public int ProviceNode { get; set; }
public virtual List<DP_City> citySource { get; set; }
}

public class DP_City
{
public int CityNode { get; set; }
public string CityName { get; set; }
public string ProviceNode { get; set; }
}

對以上涉及到的實(shí)體類予以賦值,暫時(shí)使用一個(gè)靜態(tài)類初始化簡單數(shù)據(jù):
復(fù)制代碼 代碼如下:

public static class DPDataSource
{
public static List<DP_Provice> InitalData()
{
List<DP_Provice> source = new List<DP_Provice>
{
new DP_Provice{ ProviceNode=1, ProviceName="北京", citySource=new List<DP_City>{
new DP_City{
CityNode=11, CityName="北京海淀"
},
new DP_City{
CityNode=12,CityName="北京西城"
}
}},
new DP_Provice{ ProviceNode=2, ProviceName="山東", citySource=new List<DP_City>{
new DP_City{
CityNode=21, CityName="濟(jì)南"
},
new DP_City{
CityNode=22,CityName="德州"
}
}},
new DP_Provice{ ProviceNode=3, ProviceName="河北", citySource=new List<DP_City>{
new DP_City{
CityNode=31, CityName="石家莊"
},
new DP_City{
CityNode=32,CityName="衡水"
}
}}
};

return source;
}
}

具體在Controller中的調(diào)用,因?yàn)槭褂玫腏Query中的AJAX方式,所以返回的結(jié)果類型為Json;
復(fù)制代碼 代碼如下:

public ActionResult Index()
{
return View("DPShow");
}
List<DP_Provice> source = DPDataSource.InitalData();

public JsonResult GetProvinceSource()
{
if (source == null || source.Count < 0)
{
source = DPDataSource.InitalData();
}
return Json(source, JsonRequestBehavior.AllowGet);
}
public JsonResult GetCitySource(string proviceName)
{
source = DPDataSource.InitalData();
List<DP_City> citySource = new List<DP_City>();
citySource = source.Where(a => a.ProviceNode.ToString().Contains(proviceName)).First().citySource;
return Json(citySource, JsonRequestBehavior.AllowGet);
}

數(shù)據(jù)準(zhǔn)備完畢,此時(shí)需要Razor視圖中進(jìn)行綁定和展示,代碼如下:
復(fù)制代碼 代碼如下:

@model MvcApplication.Models.DP_Provice
@{
ViewBag.Title = "DPShow";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<script type="text/javascript">
$(function myfunction() {
GetPlant();
//初始化省份數(shù)據(jù)
$("#ddlProvince").change(function ff() { //設(shè)置當(dāng)省份下拉列表發(fā)生變化時(shí),更新城市數(shù)據(jù)列表
GetCity();
});
});

function GetPlant() {
$("#ddlProvince").empty();
var url = "/Dropdown/GetProvinceSource/";
$.getJSON(url, function (data) {
$.each(data, function (i, item) {
$("<option></option>")
.val(item["ProviceNode"])
.text(item["ProviceName"])
.appendTo($("#ddlProvince"));
});
GetCity();
});
}
function GetCity() {
$("#ddlCity").empty();
var temp=$("#ddlProvince").val();
var url ="@Url.Action("GetCitySource", "Dropdown")" ;
//使用MVC3中Url.Action 方法參數(shù)依次為:aciton ; controller ; area ;

$.getJSON(url,{"proviceName":temp}, function (data) {
//中間需要用到參數(shù) 所以采用在getJSON方法中實(shí)現(xiàn)
$.each(data, function (i, item) {
$("<option></option>")
.val(item["CityNode"])
.text(item["CityName"])
.appendTo($("#ddlCity"));
});
});
}
</script>
<! DOCTYPE html />
<h2>
下拉列表聯(lián)動(dòng)</h2>
<table>
<tr>
<td>
<select id="ddlProvince" />
</td>
<td>
<select id="ddlCity" />
</td>
</tr>
</table>

說明:
一般來講,采用MVC實(shí)現(xiàn)下拉列表綁定可以有多種方式,主要是數(shù)據(jù)綁定方式可以使用JQuery中的Ajax 方式,同時(shí)也可以使用自定義的基于MVC 的 Url.Acion 方式,個(gè)人建議使用基于MVC 的 Url.Acion。
一來是支持方式比較靈活,如果中間涉及到數(shù)據(jù)類型復(fù)雜,可以自定義,實(shí)現(xiàn)數(shù)據(jù)封裝;
二來是JQuery 中URL在傳遞參數(shù)時(shí)需要格式化,否則將無法找到指定的Action。
如有大家對上述說法有異議或者更好的實(shí)現(xiàn)方案,請給予指正或說明,謝謝。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲影视在线 | 二级大黄大片高清在线视频 | www.guochanav.com| 日本中文字幕电影在线观看 | 欧美人成在线视频 | wwwcom国产 | 舌头伸进添的我好爽高潮网站 | 国产自在自线午夜精品视频在 | 粉嫩蜜桃麻豆免费大片 | 欧美激情视频一区二区免费 | 香蕉国产9 | 一本色道久久综合亚洲精品图片 | 国产在线播放91 | 久久777国产线看观看精品 | 精品久久www | 久久精品视频日本 | 国产一区二区三区高清 | 羞羞视频.www在线观看 | 国产成人精品午夜视频' | 久久99精品久久久久久国产越南 | 国产又白又嫩又紧又爽18p | a一级黄色毛片 | 成人偷拍片视频在线观看 | 看免费黄色大片 | 毛片免费观看完整版 | 毛片视频播放 | 国产日韩在线观看一区 | 亚洲男人一区 | 国产午夜精品一区二区三区在线观看 | 福利免费在线观看 | 中国的免费的视频 | 国产一精品久久99无吗一高潮 | 国产精品久久久久久久久久久久久久久久 | 国产精品区在线12p 午夜视频色 | 国产一区二区三区影视 | 免费国产一级淫片 | www.17c亚洲蜜桃 | 国产精品久久久av | 国产影视| 大片毛片 | 国产精品毛片va一区二区三区 |