Looking into a problem I have found that SN uses a special processor to get display values for items selected in a List. Maybe I’ll need it sometimes in the future, so I’ll just repeat it here:
var aj = new GlideAjax('ElementGlideListAjax'); aj.addParam('sysparm_type', 'getDisplayValues'); aj.addParam('sysparm_value', '<source table name>,<list of sys_ids>'); aj.getXML(_glideListGetDisplayValuesDone); function _glideListGetDisplayValuesDone (response, args) { if (!response || !response.responseXML) { return; } var references = response.responseXML.getElementsByTagName('reference'); for (var i = 0; i < references.length; i++) { var displayValue = getNamedItemValue(references[i], 'display'); var referenceValue = getNamedItemValue(references[i], 'sys_id'); console.log(referenceValue + ': ' + displayValue); } } function getNamedItemValue (referenceNode, itemName) { return referenceNode .attributes .getNamedItem(itemName).nodeValue; }
Somewhat related – maybe it will be of help later, whenever a display value is retrieved an event is issued:
'element_mapping:glide_list_add'
and the event parameter is an object like below:
{ id: "<table>.<element>", value: "<sys_id>", displayValue: "<display value>" }