Вы сравниваете значения, не устанавливая их:
elements[i].selected == true;
Использование:
elements[i].selected = true;
Рабочий пример:
var narrativeDropdown = $("#narrativeMode");
var elements = document.getElementById("narrativeMode").options;
console.log("Elementos cargados:", elements)
for (var i = 0; i < elements.length; i++) {
elements[i].selected = true;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="mi-selector custom-select" multiple='multiple' data-style="form-control" data-live-search="true" title="-- Seleccione mínimo 1--" id="narrativeMode">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
Обновление
Вы можете добавить selected
к элементам опции при их создании:
narrativeDropdown.append('<option value=' + narrative.nid + ' selected>
Narrativa ' + narrative.name + '</option>');
});
Делая это, вам не нужно снова l oop над опциями, поэтому вы можете удалить это l oop:
for(var i = 0; i < elements.length; i++){
elements[i].selected= true;
}