Не удается получить динамически заполненные inputOptions для ServiceNow - PullRequest
0 голосов
/ 04 ноября 2019

Я возвращаю точно правильную информацию из моего вызова Ajax, но когда я пытаюсь заполнить выпадающий список Select в SweetAlert2, я ничего не получаю в выпадающем списке.

Я могу успешно жестко закодировать данные вмассив. Но у меня есть 86 пунктов, которые мне нужно добавить, так что это не вариант.

inputOptions: {
    'b297b4bc4f56fe00a4d3650f0310c7ee': 'AcctMgmtTeam',
    'f21298cd4f2e7200a4d3650f0310c735': 'ACRCRApproval',
    '57e02d131b96fbc0ec68db1dcd4bcb36': 'ALTOCloudRelativityTeam'
},

Здесь я пытаюсь динамически заполнить массив, но не успешно:

var outputStr = [];
var ga = new GlideAjax('MyAjaxGroupUtils');
ga.addParam('sysparm_name', 'getAllGroups');
ga.getXMLAnswer(GroupParse);
	
function GroupParse(answer) {
    var objList = JSON.parse(answer);
    for (var i = 0; i < objList.length; i++) {
        var obj = objList[i];
	console.log('Name: ' + obj.label);
	outputStr.push({
   	    value: obj.value.toString(),
            label: obj.label.toString()
        });
    }
}
swal({
    title: 'Select a Group for Assignment',
    input: 'select',
    inputOptions: outputStr,
    inputPlaceholder: 'Select from dropdown',
    showCancelButton: true,
    inputValidator: function(value) {
    return new Promise(function(resolve, reject) {
        if (value !== '') {
            resolve();
        } else {
            resolve('You need to select a Group');
        }
    });	}
}).then(function(result) {
    swal({
        type: 'success',
        html: 'You selected: ' + result.label
    });
});

Ожидаемый результат - выпадающий список со всеми присутствующими предметами. Я получаю выпадающий список только с вопросом по умолчанию.

...