我的資料庫中的 3 個 (x,y,z) 屬性有不同的屬性。我創建了一個下拉串列,根據我將在下拉串列中所做的選擇,我想將屬于該屬性的屬性與另一個下拉串列一起帶入資料庫中。
(例如,我有 x, y,z 屬性。X 有 (a,b) ,y 有 (c,d) ,z 有 (e,f) 屬性。當我在下拉串列中選擇 x 屬性時,我想看到一個和 b 屬性在下一個下拉串列中。如果我選??擇 y 屬性,c 和 d 屬性將顯示在下一個下拉串列中。)
我的代碼的開始
<form id="CareModal">
@Html.HiddenFor(model => model.PersonID)
@Html.Hidden("DoesAddictionExist", false)
@Html.DropDownList("AddictionStatusID", (IEnumerable<SelectListItem>)ViewBag.AddictionStatus, null, new { @class = "form-control", @onchange = "AddictionChanged(this.value)" })
</form>
有人說我應該使用 Ajax,但我不知道如何。
uj5u.com熱心網友回復:
無論您希望將第二個下拉串列放在哪里:
<select class="form-control" data-val="true" id="AN ID" name="A NAME (NOT NEEDED)"></select>
在您的AddictionChanged方法中,對控制器進行 ajax 呼叫。
就像是:
var json = '{dropdownId: ' //Value passed into function '}';
$.ajax({
url: '@Url.Action("// Method", "// Controller")',
type:'POST',
data: json,
success: function(result){
// Do whatever
//Create a markup for a select
var markup = "<option Value='0'>Select option</option>";
//Populate the markup
for (var i = 0; i < result.length; i ) {
markup = "<option Value=" result[i].Value ">" result[i].Text "</option>";
}
//Populate dropdown with value
$("#//DROPDOWNLIST ID").html(markup).show();
}
});
所以這會呼叫控制器(具有引數dropdownId),將它id傳遞給(無論你傳遞給這個函式的什么)。你,在你的控制器中,會呼叫一個服務/資料庫(不確定你的專案是如何結構的)并將一個串列回傳給這個 ajax/js 函式。內部的代碼success創建標記并將其插入到下拉串列中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/410722.html
標籤:
上一篇:將字串轉換為json有效值
