В этой статье я расскажу, как можно добавлять карточку сотрудника и при этом его свойства будут автоматически заполнены при выборе его в people picker.
Если внимательно посмотреть на поле, то мы можем увидеть, что в нем содержатся данные их AD, к примеру Должность, Отдел, Мобильный.
А значит мы можем их взять и занести в другое поле.
Первое что нам понадобится это подписаться на имение поля, точнее на событие Resolved.
Далее получаем данные из свойств пользователя и занести их в другое поле.
что делает скрипт, он ждет когда зарезолведся пользователь в поле Employee. Далее берется свойство Department и заполняется в соответствующее поле, берем имя сотрудника и заносим в Title элемента.
Если внимательно посмотреть на поле, то мы можем увидеть, что в нем содержатся данные их AD, к примеру Должность, Отдел, Мобильный.
А значит мы можем их взять и занести в другое поле.
Первое что нам понадобится это подписаться на имение поля, точнее на событие Resolved.
Далее получаем данные из свойств пользователя и занести их в другое поле.
что делает скрипт, он ждет когда зарезолведся пользователь в поле Employee. Далее берется свойство Department и заполняется в соответствующее поле, берем имя сотрудника и заносим в Title элемента.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <script src= "/Style%20Library/Js/jquery-1.11.1.min.js" type= "text/javascript" ></script> <script type= "text/javascript" > _spBodyOnLoadFunctionNames.push( "WorkingWithFields" ); function WorkingWithFields() { addEventToPP( "Employee" ); } function addEventToPP (fieldId) { function setTitle() { var title = jQuery( "[id^='Title']" ); var department = jQuery( "[id^='Department']" ); title.attr( "disabled" , "disabled" ); var strFieldId = jQuery( "[id ^= '" + fieldId + "']" ).attr( "id" ); var field = SPClientPeoplePicker.SPClientPeoplePickerDict[strFieldId]; field.OnUserResolvedClientScript = function (peoplePickerId, selectedUsersInfo) { if (selectedUsersInfo.length > 0) { if (selectedUsersInfo[0].IsResolved) { //console.log(selectedUsersInfo[0]); if (selectedUsersInfo[0].DisplayText) { title.val(selectedUsersInfo[0].DisplayText); title.prop( "disabled" , false ); department.val(selectedUsersInfo[0].EntityData.Department); } } } else { title.val( "" ); // cleaning title title.attr( "disabled" , "disabled" ); // disabled Title department.val( "" ); } } } setTitle(); } </script> |
Комментариев нет:
Отправить комментарий