Я занимаюсь электронным обучением и работаю над разделом массового зачисления. Я использую поле поиска, чтобы искать имена студентов и добавлять эти значения в список. Проблема возникает, когда я пытаюсь найти имена других студентов и добавить эти значения в существующий список. Эта часть перезагружается, и все предыдущие значения исчезают. Как я могу отобразить результат новых значений и добавить их в выбранный список, не удаляя старый.
Код для отображения списка (detail.php)
<p>
<label> <?php echo $string['LBL_PROGRAM_NAME']; ?>: </label>
<input type = "text" id = "program_name" name = "program_name" class = "tam1" maxlength = "200" value = "<?php echo $program_name; ?>" />
</p>
<br class = "clear"/>
<center>
<input type = "button" class = "btn" name = "buscar_programs" value = "<?php echo $string['LBL_SEARCH_PROGRAMS']; ?>" onclick = "javascript:loadPrograms();"/>
</center>
<p>
<label><b><?php echo $string['LBL_PROGRAMS_SELECT']; ?>: <span class = "rojo">*</span></b></label>
<span id = "area_programs">
<select id = "programs" class = "multiselect" multiple = "multiple" name = "programs[]">
</select>
</span>
</p>
Функция loadPrograms () (detail.php):
function loadPrograms(){
$.ajax({
url: ruta_fichero_ajax+"loadProgramsItinerario.php?a1 = "+$('#program_name').val()+"&a2 = "+$('#center_id').val(),
dataType: 'json',
async: false,
success: function(datos){
var strHTML = '<select id = "programs" name = "programs[]" class = "multiselect" multiple = "multiple">';
if (datos.length>0){
$.each(datos, function(index, dato) {
strHTML += '<option value = "' + dato.id + '">' + dato.name + '</option>';
});
}
strHTML += '</select>';
document.getElementById("area_programs").innerHTML = strHTML;
$("#programs").multiselect();
}
});
}
Я младший, и мне еще предстоит многому научиться с помощью Javascript. Спасибо за вашу помощь.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Чтобы добавить новые значения в список параметров, вы можете использовать приведенный ниже код (с jQuery, потому что вы, похоже, используете jQuery)
$("#programs").append(new Option('TEXT', 'VALUE'));
Или используя vanilla JS
selectElement = document.getElementById('programs');
selectElement.options[selectElement.options.length] = new Option('TEXT', 'VALUE');
В качестве альтернативы вы можете проверить это или w3schools для подробного объяснения.