[英]How to get the selected value(s) of a SharePoint Multi-select field via JavaScript query
我在SharePoint中有一个页面,该页面使用JavaScript构建了一堆表。 我需要从列表中获取多选字段的选定值,并将该值写入表中的列。 我已经获得了我需要的所有其他值,但是这个值要么抛出错误,要么根据我的编写方式返回[Object Object]
。
fieldValue = listItemArray[i].get_item(listFieldArray[j].fieldInternalName);
返回[Object Object]
,当我在浏览器调试器的监视列表中展开fieldValue
时,它仅返回列表中的第一个选项,而不返回所选值,但仍将[Object Object]
写入页面。
这是有效的答案:
进一步来说:
value = listItemArray[i].get_item(listFieldArray[j].fieldInternalName);
for (var z=0; z<value.length; z++) {
var valueLU=value[z];
fieldValue=valueLU.get_lookupValue();
}
multi select字段返回所有选定选项的数组。 因此,您将必须迭代此数组以访问存在的所有对象。
再次选择的选项将是对象,因为“查找”字段存储对象(例如5; #someValue)而不是实际值。 IT有两个属性
查找ID(5)
查找值(someValue)
请参考此链接以获取更多信息-SharePoint JavaScript CSOM:处理查找字段的最佳方法?
尝试下面的代码。 它应该为您工作:
objLength = oListItem.get_item('MultiLookup').length;
for(var i=0; i<objLength; i++){
oListItem.get_item('MultiLookup')[i].get_lookupValue();
//oListItem.get_item('MultiLookup')[i].get_lookupId();
}
注意 :
MultiLookup是多重选择字段的内部名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.