我在从ViewData["product"]
读取的控制器中分配了2个视图数据,分别为ViewData["ProductRetailPriceList"] values
和database
:
var product = db.ProductTbls.ToList();
List<SelectListItem> productlist = new List<SelectListItem>();
List<SelectListItem> ProductRetailPriceList = new List<SelectListItem>();
foreach(ProductTbl item in product)
{
productlist.Add(new SelectListItem
{
Text = item.ProductName,
Value = item.ProductID.ToString()
}
);
ProductRetailPriceList.Add(new SelectListItem
{
Text = item.RetailUnitRentPrice.ToString(),
Value = item.ProductID.ToString()
});
ViewData["product"] = productlist;
ViewData["ProductRetailPriceList"] = ProductRetailPriceList;
我将视图中的ViewData["product"]
的值分配给dropdownlist
,如下所示:
@Html.DropDownListFor(model => model.ProductNamevm, (IEnumerable<SelectListItem>)ViewData["product"], new { id = "productname" })
对于价格文本框,我如下创建它:
@Html.TextBoxFor(model => model.ProductPrice, new { id = "productprice" })
我想编写一个JavaScript,当我更改产品名称dropdownlist
的值时,可以更改产品价格文本框的值
到目前为止,我得到的是以下内容:
$("#productname").change(function ()
{
getprice();
})
function getprice()
{
var productname = $("#productname").val();
var clienttype = $("#clienttype").val();
if (clienttype == "Retail")
{
foreach (productname == ViewData["ProductRetailPriceList"])
{
var x = ViewData["ProductRetailPriceList"];
$("#productprice").val(x);
}
}
}
FYI ClientType
是我没有问题的dropdownlist
。
当我在浏览器中检查代码时,代码不会进入foreach内部。
有人可以指导我如何将ViewData [“ ProductRetailPriceList”]与选定的ViewData [“ product”]比较,以便将其分配给价格文本框。
谢谢。