задайте дополнительные значения с помощью метода val() на странице jsp

#javascript #jquery #select #servlets #jstl

#javascript #jquery #выберите #сервлеты #jstl

Вопрос:

Моя страница jsp

 <script type="application/javascript">
   <c:forEach var="bs" items="${subjectOfBookList}">
        $("#bSubjectU").val(${bs.subjects.id});
    </c:forEach>
</script>


  <select id="bSubjectU" multiple style="height: 150px">
        <option value="0">Select Subjects</option>
        <c:forEach var="sl" items="${subjectList}">
            <option value="${sl.id}">${sl.subjectName}</option>
        </c:forEach>
    </select>

 

где ${subjectOfBookList} возвращает мой сервлет. Как я устанавливаю все элементы списка в выбранном (множественном) элементе. Теперь я просто получаю последнее значение. Я проверил все возвращаемые значения, но установил последнее значение.Спасибо!

Ответ №1:

Вы можете ввести значение из <c:forEach массива js, а затем использовать этот массив для установки значения mutliple, выбранного в вашем раскрывающемся списке.

Демонстрационный код :

 var arrys = ["1", "2"]
$("#bSubjectU").val(arrys);
//uncomment to use below
//var arr =[]
// <c:forEach var="bs" items="${subjectOfBookList}">
//push that value inside arr
//arr.push("${bs.subjects.id}")
//</c:forEach>
//$("#bSubjectU").val(arr); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="bSubjectU" multiple style="height: 150px">
  <option value="0">Select Subjects</option>
  <option value="1">A</option>
  <option value="2">B</option>
  <option value="3">C</option>
</select>