mvc- jquery - json 编码属性搜索
mvc- jquery - json encode attribute search
我正在使用 MVC 和 JQuery,我遇到以下情况:
我有一个自动填充 ViewData["product"] 的下拉列表(数据从控制器中的数据库传递到此视图数据),我还有一个名为价格的文本框,
我的目标是当用户 select 一个产品时,价格文本框应该填充相应的产品价格,我有一个 viewdata["retailprice"],这是我到目前为止得到的
$("#productname").change(function ()
{
getprice();
})
function getprice()
{
var productname = $("#productname").val();
var clienttype = $("#clienttype").val();
if (clienttype == "Retail")
{
var x = {};
for(x in JSON.parse('@Html.Raw(Json.Encode(ViewData["retailprice"]))'))
{
if(x == productname)
{
$("#productprice").val(x);
break;
}
}
}
}
json 编码的值看起来像这样
[{"Disabled":false,"Group":null,"Selected":false,"Text":"1.75","Value":"1"},{"Disabled":false,"Group":null,"Selected":false,"Text":"2.50","Value":"2"},{"Disabled":false,"Group":null,"Selected":false,"Text":"4.90","Value":"3"},{"Disabled":false,"Group":null,"Selected":false,"Text":"4.70","Value":"4"},{"Disabled":false,"Group":null,"Selected":false,"Text":"8.70","Value":"6"},{"Disabled":false,"Group":null,"Selected":false,"Text":"50.00","Value":"10"}]
productname 变量包含值 属性 例如。 “2”所以基本上我想做这样的事情
if(x.value == productname)
{
$("#productprice").val(x.text);
break;
}
我知道这不是正确的语法,但这只是为了解释。
仅供参考上面的代码,当我更改产品名称下拉列表时,产品价格文本框将值更改为 1 或 2 或 3 或 4,老实说我不知道这些值来自哪里
查看 for..in 循环 here 的文档。将代码更改为:
const data = JSON.parse('@Html.Raw(Json.Encode(ViewData["retailprice"]))');
for(x in data)
{
if(data[x].Value == productname)
{
$("#productprice").val(data[x].Text);
break;
}
}
我正在使用 MVC 和 JQuery,我遇到以下情况: 我有一个自动填充 ViewData["product"] 的下拉列表(数据从控制器中的数据库传递到此视图数据),我还有一个名为价格的文本框, 我的目标是当用户 select 一个产品时,价格文本框应该填充相应的产品价格,我有一个 viewdata["retailprice"],这是我到目前为止得到的
$("#productname").change(function ()
{
getprice();
})
function getprice()
{
var productname = $("#productname").val();
var clienttype = $("#clienttype").val();
if (clienttype == "Retail")
{
var x = {};
for(x in JSON.parse('@Html.Raw(Json.Encode(ViewData["retailprice"]))'))
{
if(x == productname)
{
$("#productprice").val(x);
break;
}
}
}
}
json 编码的值看起来像这样
[{"Disabled":false,"Group":null,"Selected":false,"Text":"1.75","Value":"1"},{"Disabled":false,"Group":null,"Selected":false,"Text":"2.50","Value":"2"},{"Disabled":false,"Group":null,"Selected":false,"Text":"4.90","Value":"3"},{"Disabled":false,"Group":null,"Selected":false,"Text":"4.70","Value":"4"},{"Disabled":false,"Group":null,"Selected":false,"Text":"8.70","Value":"6"},{"Disabled":false,"Group":null,"Selected":false,"Text":"50.00","Value":"10"}]
productname 变量包含值 属性 例如。 “2”所以基本上我想做这样的事情
if(x.value == productname)
{
$("#productprice").val(x.text);
break;
}
我知道这不是正确的语法,但这只是为了解释。 仅供参考上面的代码,当我更改产品名称下拉列表时,产品价格文本框将值更改为 1 或 2 或 3 或 4,老实说我不知道这些值来自哪里
查看 for..in 循环 here 的文档。将代码更改为:
const data = JSON.parse('@Html.Raw(Json.Encode(ViewData["retailprice"]))');
for(x in data)
{
if(data[x].Value == productname)
{
$("#productprice").val(data[x].Text);
break;
}
}