设置PeopleEditor,一直都找不到怎么用javascript设置,弄一个
获取登陆名:
$("#控件ID").find("#divEntityData").attr("key");
function getUserIDByLoginName(loginName,callback){ SP.SOD.executeFunc(‘sp.js‘,‘SP.ClientContext‘,function(){ var context=new SP.ClientContext.get_current(); this._UserTemp=context.get_web().ensureUser(loginName); context.load(this._UserTemp); //这里用的是异步方法,第一个参数是成功后调用,第二个参数是失败后调用 context.executeQueryAsync( Function.createDelegate(null,function(){ var _userID=this._UserTemp.get_id(); var _userLoginName=_UserTemp.get_loginName(); callback(_userID+";#"+_userLoginName); }), Function.createDelegate(null,function(){alert("请确认是否在选人的地方都已经填入了信息");}) ); }); }
设置控件值
function SetUserEditorValue(controlID,userName){ $("#"+controlID+"_upLevelDiv").text(userName) var arg=getUplevel(controlID); var ctx=controlID; EntityEditorSetWaitCursor(ctx); WebForm_DoCallback(controlID,arg,EntityEditorHandleCheckNameResult,ctx,EntityEditorHandleCheckNameError,true) }
简单粗暴~~~~