在 javascript 中解析多选择器
Parsing out muiltipicker in javascript
我创建了一个表单,可以通过 SharePoint 的 UPS 自动从 AD 中提取一个人的 (peoplepicker) 办公室位置,并将其填充到输入字段中。我遇到的麻烦是提取多个人的办公地点,并让其解析每个人各自的办公地点,以将其也放置在现场。任何想法或帮助将不胜感激。
这是表格,如您所见,它可以填充一个人的办公室,但不能填充其他人:
经过进一步研究,我想感谢这个有用的 JavaScript SharePoint 库的作者:http://spjsfiles.com/index.php?dir=SharePoint%20JavaScripts/spjs-utility/
此库从 SharePoint 主列表获取用户信息。您可以使用以下函数获得它:function fillFieldDemo(){
setFieldValue('Date', '1/1/2017');
setFieldValue('MM','Boston;London');
var userInfo = getUserInfo_v2(_spPageContextInfo.userId);
setFieldValue('Person', userInfo.Name);
setTimeout(function(){
var title = getFieldValue('Person');
setFieldValue('Title', title);
}, 2000);
}
_spBodyOnLoadFunctionNames.push("fillFieldDemo");
现在您可以找到用户的姓名、办公室等。
为了解析输入文本框中的多个名称并分别拉出他们的办公室,您可以更改此功能,如下所示:
function fillFieldDemo() {
$('.button').on('click', function() {
var subjects = $('.ms-entity-resolved');
var offices = [];
for (var i = 0; i < subjects.length; i++) {
var s = $(subjects[i]).prop("title");
var print = $('.name').val(s);
var userInfo = **getUserInfo_v2**(s);
for (var key in userInfo) {
var value = userInfo.**Office**;
}
offices.push(value);
}
var input = $('.parse').val(offices);
});
}
_spBodyOnLoadFunctionNames.push("fillFieldDemo");
这将允许用户在输入文本框中输入多个姓名,它会解析姓名并获取每个人的办公室。
我创建了一个表单,可以通过 SharePoint 的 UPS 自动从 AD 中提取一个人的 (peoplepicker) 办公室位置,并将其填充到输入字段中。我遇到的麻烦是提取多个人的办公地点,并让其解析每个人各自的办公地点,以将其也放置在现场。任何想法或帮助将不胜感激。
这是表格,如您所见,它可以填充一个人的办公室,但不能填充其他人:
经过进一步研究,我想感谢这个有用的 JavaScript SharePoint 库的作者:http://spjsfiles.com/index.php?dir=SharePoint%20JavaScripts/spjs-utility/
此库从 SharePoint 主列表获取用户信息。您可以使用以下函数获得它:function fillFieldDemo(){
setFieldValue('Date', '1/1/2017');
setFieldValue('MM','Boston;London');
var userInfo = getUserInfo_v2(_spPageContextInfo.userId);
setFieldValue('Person', userInfo.Name);
setTimeout(function(){
var title = getFieldValue('Person');
setFieldValue('Title', title);
}, 2000);
}
_spBodyOnLoadFunctionNames.push("fillFieldDemo");
现在您可以找到用户的姓名、办公室等。
为了解析输入文本框中的多个名称并分别拉出他们的办公室,您可以更改此功能,如下所示:
function fillFieldDemo() {
$('.button').on('click', function() {
var subjects = $('.ms-entity-resolved');
var offices = [];
for (var i = 0; i < subjects.length; i++) {
var s = $(subjects[i]).prop("title");
var print = $('.name').val(s);
var userInfo = **getUserInfo_v2**(s);
for (var key in userInfo) {
var value = userInfo.**Office**;
}
offices.push(value);
}
var input = $('.parse').val(offices);
});
}
_spBodyOnLoadFunctionNames.push("fillFieldDemo");
这将允许用户在输入文本框中输入多个姓名,它会解析姓名并获取每个人的办公室。