首頁 web前端 js教程 基於MVC3方式實作下拉列表連動(JQuery)_jquery

基於MVC3方式實作下拉列表連動(JQuery)_jquery

May 16, 2016 pm 05:23 PM

上次專案中遇到一個需要多個下拉清單連動的操作,今天有空將實作方式整理以便日後參考。
要達到的效果是,點選一個下拉框,則另一個下拉框的值會發生對應變化。如:選擇中國,則另一個一下拉框裡顯示中國各省。
傳統的HTML方式較簡單,實際上基於MVC的實作方式也大同小異。

直接上碼:

複製程式碼 程式碼如下:

程式碼如下:

DP_Provice
{
public int proviceID { get; set; }
public string ProviceName { get; set; }
public int ProviceNode { get; set; }
public virtual List}

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

對以上涉及的實體類別予以賦值,暫時使用一個靜態類別初始化簡單資料: 複製程式碼
程式碼如下:


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

return source;

複製程式碼


程式碼如下:



return View("DPShow");
}
List source = DPDataSource.InitalData();

public JsonResult GetProvinceSource()
{
public JsonResult GetProvinceSource()
{
if>if source == null || source.Count {
source = DPDataSource.InitalData();
}
return Json(source, JsonRequestBehavior.AllowGet); >public JsonResult GetCitySource(string proviceName)
{
source = DPDataSource.InitalData();
List citySource = new List();
Source => a.ProviceNode.ToString().Contains(proviceName)).First().citySource;
return Json(citySource, JsonRequestBehavior.AllowGet); 複製程式碼 程式碼如下:

@model MvcApplication.Models.DP_Provice
@{
ViewBag.Title = "DPShow";
Layout = "~/Views/Shared/_Layout.cshtml";
<script type="text/javascript">
$(function myfunction() {
GetPlant();
//州データを初期化します
$("#ddlProvince") .change(function ff() { //都道府県ドロップダウン リストが変更されたときに都市データ リストを更新するように設定します。
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()
}
関数 GetCity () {
$("#ddlCity").empty();
var temp=$("#ddlProvince").val(); ", "Dropdown")" ;
// MVC3 で Url.Action メソッドのパラメータを使用します:

$.getJSON(url,{"proviceName":temp}) , function ( data) {
//途中でパラメーターを使用する必要があるので、getJSON メソッドで実装します
$.each(data, function (i, item) {
$("&lt ;option></option> ;")
.val(item["CityNode"])
.text(item["CityName"])
.appendTo($("#ddlCity")) ;
});
}
</script<!
<h2>リンク</h2>
<tr>
<select id="ddlProvince" /> ><td>

</td>
</table> 🎜>説明:
一般 一般に、MVC を使用してドロップダウン リスト バインディングを実装する方法は数多くあります。主なデータ バインディング メソッドは JQuery の Ajax メソッドであり、カスタマイズされた MVC ベースの URL を使用することもできます。 .Acion メソッド。個人的には、MVC ベースのメソッドを使用することをお勧めします。
第一に、サポート方法は比較的柔軟です。データ型が複雑な場合は、データのカプセル化を実装するようにカスタマイズできます。
第二に、パラメータを渡すときに JQuery の URL をフォーマットする必要があります。そうでない場合、指定された URL はフォーマットされません。アクションが見つかりません。
上記の記述またはより良い実装計画に異議がある場合は、修正または説明を提供してください。ありがとうございます。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在JavaScript中替換字符串字符 在JavaScript中替換字符串字符 Mar 11, 2025 am 12:07 AM

在JavaScript中替換字符串字符

自定義Google搜索API設置教程 自定義Google搜索API設置教程 Mar 04, 2025 am 01:06 AM

自定義Google搜索API設置教程

示例顏色json文件 示例顏色json文件 Mar 03, 2025 am 12:35 AM

示例顏色json文件

8令人驚嘆的jQuery頁面佈局插件 8令人驚嘆的jQuery頁面佈局插件 Mar 06, 2025 am 12:48 AM

8令人驚嘆的jQuery頁面佈局插件

10個jQuery語法熒光筆 10個jQuery語法熒光筆 Mar 02, 2025 am 12:32 AM

10個jQuery語法熒光筆

構建您自己的Ajax Web應用程序 構建您自己的Ajax Web應用程序 Mar 09, 2025 am 12:11 AM

構建您自己的Ajax Web應用程序

什麼是這個&#x27;在JavaScript? 什麼是這個&#x27;在JavaScript? Mar 04, 2025 am 01:15 AM

什麼是這個&#x27;在JavaScript?

10 JavaScript和JQuery MVC教程 10 JavaScript和JQuery MVC教程 Mar 02, 2025 am 01:16 AM

10 JavaScript和JQuery MVC教程

See all articles