Populate List Collector From Another List Collector
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-06-2014 06:31 AM
Hi,
I have a form with two list collectors. One is for adding group owners and the second is for adding group members.
I would like the group members list collector to populate with what ever is in the group owners list collector. Is this possible?
- Labels:
-
Service Mapping
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-28-2017 04:23 AM
i have same question.. but below solution not working for my problem..
I have Two list collector Variable in My service catalogue item..
If i am selecting First List collector available choices
In second list collector auto populate his choices related to 1st list collector.
( it is something like that , I have in 1st list collector :Groups: group 1, group 2, group 3..
2nd list collector :user related that each group( user 1,user 2,user 3,user 4,user 5,user 6,user 7..
group 1 contain user 1,user;; group 2 contain user 3,user 4,user 5;; group 3 contain user 6,user 7
if i am selecting 1st list collector group 1 and adding left to right, i want see only 2 user related to that group (means user 1 and user 2) ,,similarly for Group 2 and group 3)
how to achieve this??
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-05-2017 08:45 AM
Hi,
This code is working fine , but it is affecting speed .
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var varName1 = 'list1'; //"list1" is name of 1st list collector
var rightBucket1 = gel(varName1 + '_select_1');
var rightList1 = rightBucket1.options;
var varName2 = 'list2'; //"list2" is name of 2nd list collector
var rightBucket2 = gel(varName2 + '_select_1');
var rightList2 = rightBucket2.options ;
var selectedIDs = new Array();
for( var i = 0; i < rightList1.length; i++){
selectedIDs[i] = rightList1[i].value;
//alert( selectedIDs[i]);
//break;
}
removeListOptions(rightList1,rightBucket2);
movetoList2(rightList1, selectedIDs, rightBucket2);
}
function movetoList2(rightList1,selectedIDs, rightBucket2){
for(var i = 0; i < rightList1.length; i++){
//alert(selectedIDs[i]);
var us = new GlideRecord('sys_user');
us.addQuery('sys_id', selectedIDs[i]);
us.query();
while (us.next()){
var option = document.createElement("option");
option.value = us.sys_id;
option.text = us.name;
rightBucket2.add(option);
//leftBucket.remove(option);
}
}
}
function removeListOptions(rightList1,rightBucket2){
rightBucket2.length =0;
}