他希望從列表中將所選項目的ID(從控制器中的數據庫中檢索項目)從列表傳遞到它將處理自身的控制器。如何使用JavaScript/jQuery獲取dropdownlist的選定值?
如果該值是一個字符串,但是對於int(具有ID)不起作用,則第一個代碼可以很好地工作。
檢視:
@using (Html.BeginForm("DDL", "Store", FormMethod.Post,
new { id = "Form1ID",
data_PeoplAction = @Url.Action("People")
}))
{
<fieldset>
<label for="Cities">Select a city</label>
@Html.DropDownList("Cities", ViewBag.Cities as SelectList,
new { id = "CitiesID" })
</fieldset>
}
<script src="@Url.Content("~/Scripts/populat.js")"></script>
如果CityCode是如 「LA」, 「NY」 值被正確地傳遞,並且所述控制器改變(INT ID)爲(串碼)數據是正確
ViewBag.Cities = new SelectList(DB.myBase, "CityCode", "CityName");
什麼不ID
的Controler工作:
個public ActionResult DDL()
{
ViewBag.Cities = new SelectList(DB.myBase, "CityID", "CityName");
return View();
}
public ActionResult People(int ID)
{
var peop = from s in DB.myBase
where s.CityID == CityID
select s.Population;
ViewBag.Popul = peop;
return View();
}
populat.js:
$('#CitiesID').change(function() {
var URL = $('#Form1ID').data('PeoplAction');
$.getJSON(URL + '/' + $('#CitiesID').val(), function (data) {
});
});
第二個取得了良好的ID,但我不能傳遞給控制器。
$('#OneID').change(function() {
var e = document.getElementById("OneID");
var strUser = e.options[e.selectedIndex].value;
}
我會感謝您的幫助
你能否詳細說明「的第一個代碼工作得很好,如果該值是一個字符串,但對於int(其中有ID)是行不通的。」 – Runcorn
我很苦惱你的英語。目前尚不清楚這是失敗的。也就是說,你的第二個函數只需要這個:'var strUser = $(this).val();'而不是你所擁有的兩行。 – isherwood
它工作...沒有任何改變,它的工作...昨天沒有工作...感謝您的興趣。問候 – user3128303