1
Id'喜欢能够从我的分享点列表中获取姓名,这些姓名将添加一个peoplepicker,并与字段名称'People'和'Responsible'一起存储,它们是在SharePoint中输入'person or group'。在我服务的文件我有这样的:SharePoint在javascript中获得多个值的人员或组
this.getPeople = function() {
var deferred = $.Deferred();
var restQueryUrl = appweburl + "/_api/lists/getByTitle('RisikoAnalyse')/items?$select=People/Title,Responsible/Title&$expand=People/Title,Responsible/Title";
var executor = new SP.RequestExecutor(appweburl);
executor.executeAsync({
url: restQueryUrl,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data, textStatus, xhr) {
deferred.resolve(JSON.parse(data.body));
},
error: function (xhr, textStatus, errorThrown) {
deferred.reject(JSON.stringify(xhr));
}
});
return deferred;
};
我从这个两个领域,对“人”,这是多值字段,以及一个“负责任的”,其中仅一个值是允许的。 换句话说,第一个字段中会有几个名字,而另一个字段中只有一个名字。
在我的控制,我有:
$.when(SPService.getPeople())
.done(function (jsonObject) {
angular.forEach(jsonObject.d.results, function (obj) {
$scope.peopleList.push({
people: obj.People.Title,
responsible: obj.Responsible.Title
});
//$scope is not updating so force with this command
if (!$scope.$$phase) {
$scope.$apply();
}
});
});
这里我遍历所有对象“jsonObject.d.results”,并把它们推到我的人名单,“PeopleList”。
这适用于单个值“负责”字段,但不是多值'人'字段,我想我必须迭代'人'字段内的对象,但我不知道在哪里或者如何以有效的方式做到这一点。 简而言之:如何将多个值传入我的peopleList?
我必须说,我刚刚完成(srsly秒前)一个解决方法,创建一个全新的请求,只有多值字段,它的工作。但是现在我尝试了您的解决方案,并且与我的其他领域完美配合(因此不需要新的请求)。非常感谢!! – klskl