从下拉列表中传递动态json对象值

Pass dynamic json object value from dropdown

本文关键字:json 对象 动态 下拉列表      更新时间:2023-09-26

我将json中的字段值(Sales,ProductName)存储在名为"data[]"answers"name[]"的数组中。以下是运行良好的代码。

function onCompletedCallback(response, eventArgs) {
        var chartlist = eval("(" + response.get_responseData() + ")");
        var markup = " ";
        //Display the raw JSON response
        markup += response.get_responseData();
       // alert(markup);
      var jsonData=jQuery.parseJSON(markup);   
// alert(jsonData);
//declaring arrays
var name = [];
var data = [];
$.each(jsonData.d.results, function (index, value) {

  data.push(value.Sales);
  name.push(value.ProductName);
    });
}

现在,我想在UI中从下拉列表(ddlxField)中传递字段值,它保存列表的所有字段名,并在"name"数组中推送数据时将其传递给json对象。目前,我正在选择"ProductName"表单下拉列表,即xName=ProductName

var xName = document.getElementById("ddlxField").value;
 $.each(jsonData.d.results, function (index, value) {
  data.push(value.Sales);
  name.push(value.xName); // xname value= ProductName
    });

但是在执行之后,xName就变成了未定义的。有人能提出还能做些什么或者哪里出了问题吗?

使用value[xName]而不是value.xName

[]语法需要一个string作为关键字,就像xName一样。