Как получить массив всех выбранных значений всех выпадающих списков в div - PullRequest
1 голос
/ 01 февраля 2012

Вот что я пытаюсь проанализировать с помощью jQuery:

<tr>
    <td>5</td>
    <td>abc@abc.com</td>
    <td>asdfasdf asdfasdf</td>
    <td>
        <div class="roleoption">
            <img src="/Public/images/delete.png" alt="delete" />
            <select id="role" name="role">
                <option value="1">Anonimo</option>
                <option value="2">Registrado</option>
                <option value="3">Tecnico</option>
                <option value="4">Empresario</option>
                <option selected="selected" value="5">Editor</option>
                <option value="6">Financias</option>
                <option value="7">Administrador</option>
            </select>
        </div>
        <img class="add-role" src="/Public/images/add.png" alt="add" />
    </td>
</tr>

И код JavaScript:

             select  td       tr       get the first td's value?
var userId = $(this).parent().parent().select

Это просто для получения идентификатора пользователя, я не могу понять, как выбирать элементы.

Затем мне нужно захватить каждый .val () каждого select внутри тд. Что-то вроде:

$(this).parent().find('select').each().val();??

Как мне обернуть этот код и вернуть что-то вроде:

//Save array of values: { user: 4, roles { rol: 1, rol: 3, rol: 6 } }

Я собираюсь использовать этот массив значений в запросе ajax.

Ответы [ 2 ]

7 голосов
/ 01 февраля 2012

Вы можете сделать что-то вроде этого:

var selectValues = new Array();
$('div.roleoption').find('select').each(function() {
    selectValues.push($(this).val());
}

Вероятно, есть гораздо лучший способ сделать то же самое в jQuery, но это должно сработать.

0 голосов
/ 13 июня 2016

элемент select с множеством атрибутов

<select id="role" name="role" multiple="multiple">


$(function () {
     $('#role').val();
});
...