I use these lines of code:
<SharePoint:ClientPeoplePicker ID="clpUser" runat="server" UseLocalSuggestionCache="True"/>
JS:
var peoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[clientId + "_TopSpan"];
var users = peoplePicker.GetAllUserInfo();
var expressions = new Array();
for (var i = 0; i < users.length; i++) {
expressions.push("<Eq><FieldRef Name='Absentee'></FieldRef><Value Type='User'>" + users[i].DisplayText + "</Value></Eq>");
}
var query = buidQueryFromExpressions(expressions);
My problem is for several users ClientPeoplePicker returns values that represent login (domain/username), but for the CAML query I should use display name or ID, because in my list that stores the data the user display name is used. How can I correctly configure this control? May be you know other solutions?