Set Selected Indices in Multi Select Using Javascript

Я не уверен, почему это не работает и хотел бы получить помощь! И да, я просмотрел вот это

Я пытаюсь установить несколько опций в элементе select как selected, используя массив, содержащий значения, которые я хочу выбрать, и перемежаясь через массив и опции в элементе select. Ниже приведен код:

// value is the array.
for (var j = 0; j < value.length; j++) {
    for (var i = 0; i < el.length; i++) {
        if (el[i].text == value[j]) {
            el[i].selected = true;
            alert("option should be selected");
        }
    }
}

После выполнения этих циклов ничего не выбирается, хотя alert() срабатывает.

Любые идеи приветствуются!

Спасибо

CM

PS (не уверен, что случилось с форматированием кода).

EDIT: Полная функция

    if (CheckVariableIsArray(value) == true) {
        if (value.length > 1) { // Multiple selections are made, not just a sinle one.
            var checkBoxEl = document.getElementById(cbxElement);
            checkBoxEl.checked = "checked";
            checkBoxEl.onchange(); // Call function to change element to a multi select
            document.getElementById(element).onchange(); // Repopulates elements with a new option list.
            for (var j = 0; j < value.length; j++) {
                for (var i = 0; i < el.length; i++) {
                    if (el[i].text === value[j]) {
                        el[i].selected = true;
                        i = el.length + 1;
                    }
                }
            }
            //document.getElementById(element).onchange();
        }
    }
    else {
        for (var i = 0; i < el.length; i++) {
            if (el[i].innerHTML == value) {
                el.selectedIndex = i;
                document.getElementById(element).onchange();
            }
        }
    }

5
задан Community 23 May 2017 в 11:46
поделиться