Отправка выбранных значений ListBox как скрытое поле с помощью JQuery - PullRequest
0 голосов
/ 18 октября 2010

Я хочу иметь возможность отправлять все выбранные значения из списка в виде скрытого поля, используя JQuery.Я смог отправить / получить одно значение при отправке формы.

Если кто-нибудь сможет поделиться фрагментом кода, это поможет.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 18 октября 2010

Ну, не очень понятно, о чем ты действительно просишь. В HTML нет «раскрывающегося списка множественного выбора». Для мультиселекции необходимо указать

<select id="foobar" multiple>

, который создаст listbox, где вы можете выбрать несколько элементов. Вызов

var sel = $('#foobar').val();

вернет Array выбранных предметов.

1012 * редактировать *

Чтобы получить текст из каждой опции, используйте .map() или jQuery.map(). Пример:

var sel = $('#foobar').children('option:selected').map(function(i,e){
    return e.innerText;
}).get();

Это создаст массив, содержащий текст всех выбранных записей.

1 голос
/ 18 октября 2010

Нет абсолютно никакой необходимости делать это. Вы, очевидно, использовали request.getParameter() вместо request.getParameterValues() и удивлялись, почему он вернул только первое значение.

Просто исправьте свой код сервлета соответствующим образом:

String[] selectedItems = request.getParameterValues("dropdownname");

Не нужно, чтобы уродливые JS / jQuery-хаки отправляли их все как один параметр. В будущих вопросах постарайтесь спросить, как решить проблему, а не как найти решение, которое само по себе может и не быть правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...