Javascript中的Sharepoint 2013人员选取器更改事件
我想要Javascript中的人员选取器更改事件,因为如果使用ClassName在人员选取器中选择/更改用户,我必须执行一些任务 我试过以下方法Javascript中的Sharepoint 2013人员选取器更改事件,javascript,jquery,sharepoint,sharepoint-2013,Javascript,Jquery,Sharepoint,Sharepoint 2013,我想要Javascript中的人员选取器更改事件,因为如果使用ClassName在人员选取器中选择/更改用户,我必须执行一些任务 我试过以下方法 $(".Assignedname").bind('input propertychange', function() { alert("Onchange event" ); }) 当我键入任何内容(即文本已更改)时触发,但当在People picker中选择user时不触发。 请给我一些解决办法。谢谢初始化人员选取器后,您可以在js字典
$(".Assignedname").bind('input propertychange', function() {
alert("Onchange event" );
})
当我键入任何内容(即文本已更改)时触发,但当在People picker中选择user时不触发。
请给我一些解决办法。谢谢初始化人员选取器后,您可以在js字典中访问它,并为选取器的OnValueChangedClientScript属性分配一个函数。该函数接受两个参数,其中第二个参数(userInfo)是选择器中的用户集合
var picker = SPClientPeoplePicker.SPClientPeoplePickerDict[pickerId + "_TopSpan"];
picker.OnValueChangedClientScript = function (elementId, userInfo) {
for (var x = 0; x < userInfo.length; x++) {
console.log(userInfo[x].Key);
}
alert("Total number of " + userInfo.length + " users is selected")
};
var picker=SPClientPeoplePicker.SPClientPeoplePickerDict[pickerId+“_TopSpan”];
picker.OnValueChangedClientScript=函数(elementId,userInfo){
对于(var x=0;x
初始化人员选取器后,您可以在js字典中访问它,并为选取器的OnValueChangedClientScript属性分配一个函数。该函数接受两个参数,其中第二个参数(userInfo)是选择器中的用户集合
var picker = SPClientPeoplePicker.SPClientPeoplePickerDict[pickerId + "_TopSpan"];
picker.OnValueChangedClientScript = function (elementId, userInfo) {
for (var x = 0; x < userInfo.length; x++) {
console.log(userInfo[x].Key);
}
alert("Total number of " + userInfo.length + " users is selected")
};
var picker=SPClientPeoplePicker.SPClientPeoplePickerDict[pickerId+“_TopSpan”];
picker.OnValueChangedClientScript=函数(elementId,userInfo){
对于(var x=0;x
您需要获取SharePoint客户端人员选取器更改事件的选取器id。我使用OnUserResolvedClientScript
获得了相同的结果,如下所示。在这里,为了获取picker div,我采用了通过people picker文本框id
和title name
获取它的方法,您可以通过检查元素来获取它。将以下代码放入$(文档).ready
功能中。快乐编码
SP.SOD.executeFunc('clientpeoplepicker.js', 'SPClientPeoplePicker', function() {
var pickerDiv = $("[id^='Employee_x0020_Name'][title='Employee Name']");
var picker = SPClientPeoplePicker.SPClientPeoplePickerDict[pickerDiv[0].id];
picker.OnUserResolvedClientScript = function(peoplePickerId, selectedUsersInfo) {
//It will get the desired display name of the people from picker div, similarly any other property can be accessed via selectedUsersInfo
var empname = selectedUsersInfo[0].DisplayText;
console.log(empname);
}
});
您需要获取SharePoint客户端人员选取器更改事件的选取器id。我使用
OnUserResolvedClientScript
获得了相同的结果,如下所示。在这里,为了获取picker div,我采用了通过people picker文本框id
和title name
获取它的方法,您可以通过检查元素来获取它。将以下代码放入$(文档).ready
功能中。快乐编码
SP.SOD.executeFunc('clientpeoplepicker.js', 'SPClientPeoplePicker', function() {
var pickerDiv = $("[id^='Employee_x0020_Name'][title='Employee Name']");
var picker = SPClientPeoplePicker.SPClientPeoplePickerDict[pickerDiv[0].id];
picker.OnUserResolvedClientScript = function(peoplePickerId, selectedUsersInfo) {
//It will get the desired display name of the people from picker div, similarly any other property can be accessed via selectedUsersInfo
var empname = selectedUsersInfo[0].DisplayText;
console.log(empname);
}
});
关于此方法的一个警告:我最近遇到了Microsoft Edge的一个计时问题,在填充people picker对象之前,我附加事件处理程序的脚本已经运行,因此代码失败。请确保在附加事件处理程序之前初始化了
SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerId]
。关于此方法的警告:我最近在Microsoft Edge中遇到了一个计时问题,在填充people picker对象之前,我附加事件处理程序的脚本运行,因此代码失败。在附加事件处理程序之前,请确保已初始化SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerId]
。