Sharepoint 2013。使用JavaScript的多值查找字段

Sharepoint 2013。使用JavaScript的多值查找字段,javascript,sharepoint,Javascript,Sharepoint,有没有办法使用JavaScript客户端对象模型编辑多值查找字段? 我需要删除一个或多个查找值,并最终添加一个或多个值 我到处搜索,我读MSDN文档,…,我也在我的桌子下看看 谢谢。多列查找值表示为一个对象数组 如何读取多个查找字段值 您可以通过以下方式通过js获取查找值: clientContext.executeQueryAsync(函数(){ 当然,我犯了一个错误:我按enter键在评论中输入新行,但以这种方式我发布了一条未完成的评论…完整消息:非常感谢。但我已经尝试过此代码(我在此处找到

有没有办法使用JavaScript客户端对象模型编辑多值查找字段? 我需要删除一个或多个查找值,并最终添加一个或多个值

我到处搜索,我读MSDN文档,…,我也在我的桌子下看看


谢谢。

多列查找值表示为一个对象数组

如何读取多个
查找
字段值

您可以通过以下方式通过js获取查找值:

clientContext.executeQueryAsync(函数(){


当然,我犯了一个错误:我按enter键在评论中输入新行,但以这种方式我发布了一条未完成的评论…完整消息:非常感谢。但我已经尝试过此代码(我在此处找到了:。它运行时没有错误,但不会更新项目。我认为SharePoint 2010与2013有所不同。您尝试过(您发布的代码)吗在Sharepoint 2013上?是的,在使用Sharepoint 2013发布答案之前对其进行了测试,它对我有效。顺便说一句,您提供的链接描述了更新多个查找值的相同方式,唯一的区别是,在我的情况下,它是一个完整的代码段是的,您的代码更好:-)。无论如何,该链接是针对SharePoint 2010的。我认为SharePoint 2013代码有所不同。谢谢,很高兴听到:)关于查找字段,我相信SharePoint 2010和2013 CSOM之间没有区别。但是对于分类字段,例如,有区别。我理解我的错误。方法listItem.update()未发出ajax请求。要更新上下文,必须调用context.executeQueryAsync()。如果不执行此操作,
$1g_1
是一个内部属性,可以使用下一版本的SharePoint JavaScript库进行更改
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle(listTitle);
var listItem = list.getItemById(1);   
context.load(listItem);
context.executeQueryAsync(
   function() {
       var lookupVals = listItem.get_item(fieldName); //get multi lookup value (SP.FieldLookupValue[])
       for(var i = 0;i < lookupVals.length;i++) {
           console.log(lookupVals[i].get_lookupId()); //print Id
           console.log(lookupVals[i].get_lookupValue()); //print Value
       }
   },
   function(sender,args){
       console.log(args.get_message());
   }
);
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle(listTitle);
var listItem = list.getItemById(1);   

var lookupVals = [];
//set 1st Lookup value
var lookupVal1 = new SP.FieldLookupValue();
lookupVal1.set_lookupId(1);
lookupVals.push(lookupVal1);
//set 2nd Lookup value
var lookupVal2 = new SP.FieldLookupValue();
lookupVal2.set_lookupId(2);
lookupVals.push(lookupVal2);

listItem.set_item(fieldName,lookupVals);
listItem.update();

context.executeQueryAsync(
   function() {
        console.log('Multi lookup field has been updated');
   },
   function(sender,args){
       console.log(args.get_message());
   }
);
    var listItemEnumerator = collListItem.getEnumerator();

    while (listItemEnumerator.moveNext()) {
                var oListItem = listItemEnumerator.get_current();
                chartX.push(oListItem.get_item(xAxisName));


            }
    lookupValue1= chartX["0"].$1g_1;
    lookupValue2= chartX["1"].$1g_1;