Как использовать multiselect () без удаления существующих значений и добавлять новые значения на основе другого выбора

Я занимаюсь электронным обучением и работаю над разделом массового зачисления. Я использую поле поиска, чтобы искать имена студентов и добавлять эти значения в список. Проблема возникает, когда я пытаюсь найти имена других студентов и добавить эти значения в существующий список. Эта часть перезагружается, и все предыдущие значения исчезают. Как я могу отобразить результат новых значений и добавить их в выбранный список, не удаляя старый.

Код для отображения списка (detail.php)

                <p>
                    <label>&nbsp;<?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. Спасибо за вашу помощь.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
32
1

Ответы 1

Чтобы добавить новые значения в список параметров, вы можете использовать приведенный ниже код (с jQuery, потому что вы, похоже, используете jQuery)

$("#programs").append(new Option('TEXT', 'VALUE'));

Или используя vanilla JS

selectElement = document.getElementById('programs');
selectElement.options[selectElement.options.length] = new Option('TEXT', 'VALUE');

В качестве альтернативы вы можете проверить это или w3schools для подробного объяснения.

Другие вопросы по теме