populate default values in list collector according to region onchange and onload
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 11:04 PM
populate default values in list collector according to region onchange and onload.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 11:16 PM
Hi,
Can you please share more details?
Please follow below link while posting question.
Also share what you have tried and what is not working?
Thanks,
Anil Lande
Thanks
Anil Lande
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 11:48 PM
Hi Anil,
i need to populate some default values in list collector and those values have to populate according to region onload is working and onchange script is not working
onload script
function onLoad() {
//Type appropriate comment here, and begin script below
//Type appropriate comment here, and begin script below
var reqFor = g_form.getValue('requested_for');
//alert("Bala"+reqFor);
var ga = new GlideAjax('UserInfoUtils');
ga.addParam('sysparm_name', 'getUserInfoEmployeeLookup');
ga.addParam('sysparm_user', reqFor);
ga.getXML(parseCallback);
function parseCallback(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
//alert(answer);
if (answer) {
var parsedAnswer = JSON.parse(answer);
if (parsedAnswer.u_region) {
//alert(parsedAnswer.u_region.toString());
alert(parsedAnswer.u_region.toString());
var userRegion = parsedAnswer.u_region.toString();
if(userRegion=="Asia"){
// populate items to List Collector
addItemtoList('select_accesories');
}
}
}
}
function addItemtoList(listCollector){
//
//get list collector values and populate in string field
var traineeEmailCollection=[];
var traineeNameList=g_form.getValue('select_accesories');
// give here list collector variable name in above syntax
var trainees=traineeNameList.split(',');
for (var i=0; i < trainees.length; i++) {
var gr = new GlideRecord('sys_user');
gr.query('sys_id',trainees[i]);
gr.query();
while(gr.next())
{
traineeEmailCollection.push(gr.email);
}
}
g_form.setValue('select_accesories',traineeEmailCollection);
// Give the required field name where you need list collector values in above syntax
}
}
onchange script
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
//Type appropriate comment here, and begin script below
var ga = new GlideAjax('UserInfoUtils');
ga.addParam('sysparm_name', 'getUserInfoEmployeeLookup');
ga.addParam('sysparm_user', newValue);
ga.getXML(parseCallback);
function parseCallback(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
//alert(answer);
if (answer) {
var parsedAnswer = JSON.parse(answer);
if (parsedAnswer.u_region) {
//g_form.setValue('terminated_employees_region', parsedAnswer.u_region.toString());
alert(parsedAnswer.u_region.toString());
var userRegion = parsedAnswer.u_region.toString();
if(userRegion=="Asia"){
// populate items to List Collector
//addItemtoList('select_accesories');
}
}
}
}
function addItemtoList(listCollector){
//Name of variable to move options from
var varName = listCollector; //'YOUR_VARIABLE_NAME_HERE';
var leftBucket = g_form.getValue(varName + '_select_0');
var rightBucket = g_form.getValue(varName + '_select_1');
var selectedOptions = rightBucket.options;
alert(selectedOptions.length);
//Get an array of all option IDs to move
var selectedIDs = new Array();
var index = 0;
for(var i = 0; i < selectedOptions.length; i++){
selectedIDs[index] = i;
index++;
}
//Move all returned options from right to left bucket and sort the results
//Switch 'rightBucket' and 'leftBucket' to move from left to right
moveSelectedOptions(selectedIDs, rightBucket, leftBucket, '--None--');
//Sort the resultant options in the left bucket
sortSelect(leftBucket);
}
}
to populate default values i copied sys_id of the values and paste them in variable
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-06-2022 12:15 AM
refer my blog on how to populate list collector based on change of another variable
It works in native + portal
If my blog helps please mark it helpful and also bookmark it
Dynamically set list collector on change of variable
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader