У меня есть список контактов, в котором есть поле для многозначного поиска, называемое ContactType. Результат запроса CAML покажет следующее значение ContactType для одного из элементов списка:SharePoint 2013: Как обновить многозначное поле поиска с использованием JavaScript CSOM
1;#Applicant;#2;#Employee
Я посмотрел на скрипача после выполнения запроса CSOM от поля поиска в многозначной и заметил, что СП объект .FieldLookupValue имеет два свойства со значениями:
$1E_1 : 1
$2e_1 : "Applicant"
Однако при сохранении значения можно установить только на lookupId, который 1 в этом случае. Нет способа установить значение как в lookup.set_lookupValue().
Я пытаюсь скопировать содержимое ContactType в новый элемент списка контактов. К сожалению, я не добился успеха при обновлении поля ContactType. Это то, что я пытался до сих пор:
var clientContext = new SP.ClientContext.get_current();
var oList = clientContext.get_web().get_lists().getByTitle('Contacts');
var itemCreateInfo = new SP.ListItemCreationInformation();
var oListItem = oList.addItem(itemCreateInfo);
var contactTypes = new Array();
$.each(contact.contactTypes, function (index, contactType) {
var lookup = new SP.FieldLookupValue();
lookup.set_lookupId(contactType.id);
contactTypes.push(lookup);
});
// other set_item statements skipped for brevity
oListItem.set_item('ContactType', contactTypes);
oListItem.update();
Сообщение об ошибке:
Invalid lookup value. A lookup field contains invalid data.
Я также экспериментировал со следующим кодом без успеха:
lookup.set_lookupId(contactType.id + ";#" + contactType.title);
В этом случае сообщение об ошибке:
The input string is not in the correct format.
Если я обновляю один поиск, у меня нет проблем, но проблема заключается в сохранении массива поисков. Например, следующий код работает отлично:
var lookup = new SP.FieldLookupValue();
lookup.set_lookupId(1);
contactTypes.push(lookup);
oListItem.set_item('ContactType', lookup);
но не играть в мяч при попытке сохранить массив выборок, как в
oListItem.set_item('ContactType', contactTypes);
Любые идеи?