[英]Select dropdownlist display string of data under it. In MVC
如何在選定的下拉列表值下獲取字符串值?
var SiteResponse = repository.Sites.GetAll();
SiteResponse.result返回一些參數“地址”,“名稱”和“ ID”
ViewBag.SiteName = SiteResponse.Result.Select(x => new SelectListItem
{
Text = x.Name,
Value = x.Id.ToString()
}).ToList();
我將名稱和ID放入下拉列表mvc視圖@Html.DropDownList("Name", (IEnumerable<SelectListItem>)ViewBag.SiteName, new { @class = "form-control" })
我想在另一個元素中顯示所選dropdownlist值的地址。 我該怎么做? 是Jquery還是任何其他C#方法
您應該偵聽SELECT元素的change事件,獲取所選的選項值(所選站點的ID),並通過該ID向服務器進行ajax調用。 讓服務器返回地址(以及所需的其他信息)。 您的ajax方法的成功/完成事件可以使用返回的數據來更新DOM。
假設您的頁面中有一個ID為"address"
的元素,您想在其中顯示所選站點的地址,則可以將(基本)URL保留為action方法,該方法將所選站點ID的地址返回為html 5。數據屬性。
@Html.DropDownList("Name", (IEnumerable<SelectListItem>)ViewBag.SiteName,
new { @class = "form-control" , @data_addressurl=Url.Action("GetAddress")})
<div id="address"></div>
以及用於處理select元素上的change
事件的javascript代碼
$(function(){
$("#Name").change(function(){
var siteId = $(this).val();
var url = $(this).data("addressurl");
$.get(url + "?id=" + siteId, function (data) {
$("#address").html(data);
});
});
})
假設GetAddress
接受siteId並返回地址
public ActionResult GetAddress(int id)
{
//to do : Get Address from Id and return
return Json("110 William St 28th Floor,New York",JsonRequestBehavior.AllowGet);
}
在這里,我返回一個簡單的字符串。 您還可以返回一個對象,並在ajax成功回調內部,根據需要訪問特定屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.