2 回答

TA貢獻1995條經驗 獲得超2個贊
請在視圖中嘗試以下代碼片段:對代碼進行了更改
@model Items;
@{var selectedAddress=string.Empty;}
<div class="form-group">
<label class="col-lg-2 control-label">Account</label>
<div class="col-lg-10">
<div class="input-group col-lg-10">
<span class="input-group-addon">
<i class="fa fa-globe" aria-hidden="true"></i>
</span>
<select asp-for="ID" asp-items="@Model.ItemList" class="form-control"></select>
</div>
@{
if(Model.ItemList != null) {
selectedAddress = Model.MiscList.SingleOrDefault(c => c.ID == Model.ItemList.SelectedValue.ToString()).Address;
}
}
<div>
<input id="selAddress" value="@selectedAddress" />
</div>
</div>
</div>
我相信您設置的所選項目
if(Model.ItemList != null) {
selectedAddress = Model.MiscList.SingleOrDefault(c => c.ID == Model.ItemList.SelectedValue.ToString()).Address;
}
而不是代碼中的 Model.ID。
下拉變化事件可以通過以下Javascript代碼片段實現:
$(document).ready(function () {
$('#ID').change(function () {
var selectedValue = $(this).val();
var misclist = @Json.Serialize(@Model.MiscList.ToList());
for(i=0;i<misclist.length;i++){
if(misclist[i].id == selectedValue) {
$('#selAddress').val(misclist[i].address);
break;
}
}
});
});

TA貢獻1813條經驗 獲得超2個贊
我的問題有兩個問題。@ScareCrow 為我的第一個問題提供了解決方案,并幫助我找出了第二個問題的解決方案。這是一個更新的 javascript 函數(鍵值是小寫的):
function OnSelectedIndexChanged_01(value, jsdata) {
var selectedID = value.options[value.selectedIndex].value;
var selectedText = value.options[value.selectedIndex].text;
var myArray = [];
var jsdata = @Json.Serialize(@Model.MiscList.ToList());
//myArray = JSON.parse(jsdata); ===> this line throws "Unexpected token o in JSON at position 1"; commenting this worked out; jsdata is already a javascript object
myArray = jsdata;
for (var i = 0; i < myArray.length; i++) {
if (myArray[i].id == selectedID) {
var Address = document.getElementById("selAddress");
Address.value = "";
Address.value = myArray[i].address.toString();
break;
}
}
}
添加回答
舉報