【问题标题】:How to add multiple value pairs inside a single key in a dictionary in Jquery dynamically?如何在 Jquery 的字典中动态添加多个值对?
【发布时间】:2020-07-24 12:05:37
【问题描述】:

我正在尝试为 Sharepoint 列表中的元数据构建一个字典,添加一个新项目。我正在尝试动态地执行此操作,而不是对列名进行硬编码。

这是应该构建的原始项目属性元数据。

itemProperties={"__metadata":{"type":"SP.Data.TestingListItem"},"fldname1":"Value1","fldname1":"Value2","fldname3":"value3"};

这是我目前所拥有的

var itemProperties={"__metadata":{"type":"SP.Data.TestingListItem"}};

我在这里运行一个循环,直到 j 假设为 5;

itemProperties=itemProperties+'"'+favorite[j]+'"'+':'+'"'+cells[j]+'"'+','

//favorite has the column name and cells has the values for those columns

我尝试构建一个字符串并添加多个值,但它没有按预期工作。

itemProperties.push("Title":"AMA-424"); or 
itemProperties.append("Title":"AMA-424");**

我都试过了,但都无效。我的想法不多了。我尝试将整个内容构建为字符串,但创建列表项函数不会使用字符串。

非常感谢任何帮助或指导。

【问题讨论】:

标签: jquery jquery-ui sharepoint sharepoint-2013 sharepoint-online


【解决方案1】:

如果你有一个对象,你可以通过添加更多的键/值对来添加它。这样做是这样的:

var obj = {};
obj['myKey'] = "myValue";

考虑以下示例。

var itemProperties = {
  "__metadata": {
    "type": "SP.Data.TestingListItem"
  },
  "fldname1": "Value1",
  "fldname1": "Value2",
  "fldname3": "value3"
};

var favs = [
  "Title",
  "Feature",
  "Data"
];

var cells = [
  "AMA-242",
  "One",
  "abc"
];

for (var i = 0; i < favs.length; i++) {
  itemProperties[favs[i]] = cells[i];
}

console.log(itemProperties);

这是一个 Vanilla JavaScript 示例。现在,如果您想要一个 jQuery 示例,我建议您使用 $.extend()

说明:将两个或多个对象的内容合并到第一个对象中。

查看更多:https://api.jquery.com/jquery.extend/

这有点像.push() 用于数组,但用于对象。请考虑以下内容。

$(function() {
  var itemProperties = {
    "__metadata": {
      "type": "SP.Data.TestingListItem"
    },
    "fldname1": "Value1",
    "fldname1": "Value2",
    "fldname3": "value3"
  };

  var favs = {
    title: "AMA-242",
    feature: "One",
    data: 123
  };

  $.extend(itemProperties, favs);

  console.log(itemProperties);
});
&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt;

【讨论】:

  • 太棒了,它工作得很好,itemProperties[favs[i]] = cells[i];我想知道为什么我从来没有尝试过这个。感谢您的帮助:)
猜你喜欢
  • 2014-10-13
  • 2023-03-08
  • 2017-09-07
  • 2011-11-04
  • 1970-01-01
  • 2014-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多