0
我想知道是否有人可以幫助我。我是新的Java腳本。我有列表,我將某些值放入JavaScript中的數組中。我想要做的是讓用戶在@ Html.DropDownList中選擇一個值,然後在數組中找到該ID並訪問其他其他屬性。我遇到的問題是從數組中檢索這些值。 JavaScript與下拉列表位於同一頁面內。如果需要,可以提供更多細節。檢索JavaScript數組中的值
的DropDownList
@Html.DropDownList("StockCode", new SelectList(ViewBag.StockCodeList, "Value", "Text"),
new
{
@class = "form-control selectpicker ",
data_show_subtext = "true",
data_live_search = "true",
id = "StockCode",
name = "StockCode"
})
創建從ViewBag(這是一個列表)的陣列,作爲一個全局變量。
<script>
Stockarray = @Html.Raw(
Json.Encode(
((List<GetProducts_Result>)ViewBag.AllStock).Select(stock => new
{
StockCode = stock.StockCode,
Description = stock.Description,
QtyInStock = stock.QtyInStock,
QtyOnOrder = stock.QtyOnOrder,
QtyAllocated = stock.QtyAllocated,
QtyLastStockTake = stock.QtyLastStockTake,
StoredPrice = stock.StoredPrice,
})
)
);
</script>
下面就是我遇到的問題,在試圖得到正確的價值觀
<script>
function FetchCall() {
var SelectBox = $("#StockCode").val();
var Values = selectWhere(Stockarray,'StockCode', SelectBox);
for (var i=0; i<Values.length; i++)
{
var test = Values[i].value;
var param_value = i +'='+test;
}
alert(param_value.join(', '));
}
function selectWhere(data, propertyName, tofind) {
for (var i = 0; i < data.length; i++) {
if (data[i][propertyName] == tofind) return data[i];
}
return (null);
}
</script>
我試圖讓StockCode,說明,QtyInStock,QtyOnOrder等價值
更新我也嘗試過
控制器其中GetStockItemsFromDB()返回產品列表
ViewBag.Products = JsonConvert.SerializeObject(GetStockItemsFromDB().Take(2));
視圖
var model = '@Html.Raw(Json.Encode(ViewBag.Products))';
alert(model);
這讓我看到的內容,但我可以在他們的迭代得到的值我neeed
的SelectList(@ ViewBag.StockCodeList ......你有@在你的實際代碼? – nocturns2
是的,但我也試過逃離剃鬚刀沒有成功。 –