好的,我明白了。
這是我的代碼,希望它有助於某人。我沒有包括檢索列表項的方法,只是從那個函數中獲取人的價值的那一行。
var _lineManager;
var lineManager = oListItem.get_item("RecruitingManager").get_lookupId();
_lineManager = oWebsite.getUserById(lineManager);
getLineManager();
function getLineManager() {
context.load(_lineManager);
context.executeQueryAsync(onGetUserNameSuccessLM, onGetUserNameFailLM);
}
function onGetUserNameSuccessLM() {
alert(lineManager.get_title());
var schema = {};
schema['PrincipalAccountType'] = 'User,DL,SecGroup,SPGroup';
schema['SearchPrincipalSource'] = 15;
schema['ResolvePrincipalSource'] = 15;
schema['AllowMultipleValues'] = false;
schema['MaximumEntitySuggestions'] = 50;
schema['Width'] = '280px';
var users = new Array(1);
var defaultUser = new Object();
defaultUser.AutoFillDisplayText = lineManager.get_title();
defaultUser.AutoFillKey = lineManager.get_loginName();
defaultUser.Description = lineManager.get_email();
defaultUser.DisplayText = lineManager.get_title();
defaultUser.EntityType = "User";
defaultUser.IsResolved = true;
defaultUser.Key = lineManager.get_loginName();
defaultUser.Resolved = true;
users[0] = defaultUser;
SPClientPeoplePicker_InitStandaloneControlWrapper('peoplePickerDivLinMan', users, schema);
}
function onGetUserNameFailLM(sender, args) {
alert('Failed to get user name. Error:' + args.get_message());
}
謝謝,但我認爲你誤解了。我從列表項中檢索人員值,而不是人員選擇器。我已閱讀您列出的文章。 –
我誤解了,但你的代碼,特別是get_lookupValue()應該工作:http://stackoverflow.com/questions/8892999/how-to-read-a-column-type-spuser-datetime-currency-with-ecmascript –
哪裏我很困惑的是,這個查找值返回 SP.FieldUserValue - $ 1A_1:11 $ 2Z_1:「Phillip Hill」 __proto__:Object 如何從中獲取用戶對象,以便我可以例如獲取該用戶的電子郵件地址? 我可以使用它來設置人員選擇器。 我想要做的就是從列表廣告中的某個人列中獲取用戶,並使用此人填充人員選擇器。我明顯錯過了一些明顯的東西。 –