我有 2 个视图数据,ViewData["product"]
并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"]
给 a 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);
}
}
}
仅供参考ClientType
,dropdownlist
我没有问题。当我在浏览器中检查时,代码不会进入 foreach。有人可以指导我如何将 ViewData["ProductRetailPriceList"] 与选定的 ViewData["product"] 进行比较,以便我可以将其分配给价格文本框。谢谢。