#javascript #jquery #list #sharepoint-2007
#javascript #jquery #Список #sharepoint-2007
Вопрос:
У меня есть поле ID в одном из моих списков, которое может измениться и нуждается в обновлении в элементах списка в различных списках. Мне нужно знать, возможно ли это. Я знаю, что мог бы выполнить это с помощью C # и Sharepoint Services, но мне необходимо сделать это с помощью javascript. В принципе, у меня есть 5 списков, и при изменении значения идентификатора клиента в одном из этих списков и нажатии «ОК» мне нужно выполнить итерацию по другим 4 спискам и изменить это значение для любых элементов, которые могут существовать в этих списках с этим идентификатором клиента.
Мы высоко ценим любую помощь!
Ответ №1:
Я работаю в государственной организации, и у нас есть крупномасштабная ферма SharePoint 2007. Мы используем библиотеки jQuery и SPServices для выполнения AJAX-вызовов к различным спискам SharePoint.
Для вашей конкретной потребности вам следует выполнить серию веб-запросов, используя что-то вроде приведенного ниже примера кода.
Вот API для обновления списка SharePoint:
http://spservices.codeplex.com/wikipage?title=UpdateListItemsamp;referringTitle=Lists
Вот пример кода:
Параметры
batchCmd: "Update",
valuepairs:
[["Title", "New Title Value"],
["Body", "Here is a the new text for the body column."]], ID: 1234,
XML
<Batch OnError='Continue'>
<Method ID='1' Cmd='Update'>
<Field Name='Title'>New Title Value</Field>
<Field Name='Body'>Here is a the new text for the body column.</Field>
<Field Name='ID'>1234</Field>
</Method>
</Batch>
JS
$(divId).html(waitMessage).SPServices({
operation: "UpdateListItems",
listName: testList,
ID: ID,
valuepairs: [["Title", now]],
completefunc: function (xData, Status) {
var out = $().SPServices.SPDebugXMLHttpResult({
node: xData.responseXML,
outputId: divId
});
$(divId).html("").append("<b>This is the output from the UpdateListItems operation:</b>" out);
$(divId).append("<b>Refresh to see the change in the list above.</b>");
}
});