如何通过JavaScript查询获取SharePoint多选字段的选定值

时间:2018-02-01 20:34:58

标签: javascript sharepoint sharepoint-2010

我在SharePoint中有一个页面,它使用JavaScript构建一堆表。我需要从列表中获取多选字段的选定值,并将该值写入表中的列。我已经获得了我需要的所有其他值,但是这个值会抛出错误或返回[Object Object],具体取决于我的编写方式。

fieldValue = listItemArray[i].get_item(listFieldArray[j].fieldInternalName);

返回[Object Object],当我在浏览器调试器的监视列表中展开fieldValue时,它只返回列表中的第一个选项,而不是选定的值,但仍会写入[Object Object]到页面。

2 个答案:

答案 0 :(得分:0)

以下是有效的答案:

Custom Lookup Field

更具体地说:

                value = listItemArray[i].get_item(listFieldArray[j].fieldInternalName);
            for (var z=0; z<value.length; z++) {
            var valueLU=value[z];
            fieldValue=valueLU.get_lookupValue();
            }

答案 1 :(得分:0)

多选字段返回所有选定选项的数组。因此,您必须迭代此数组才能访问所有存在的对象。

再次选择的选项将是对象,因为查找字段存储对象(例如5; #someValue)而不是实际值。 IT有两个属性

查找ID(5)

查找值(someValue)

有关详细信息,请参阅此链接 - SharePoint JavaScript CSOM: Best way to deal with Lookup fields?

尝试以下代码。它应该适合你:

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 是多选字段的内部名称。