如何获取div中所有下拉列表的所有选定值的数组

时间:2012-02-01 13:53:48

标签: jquery html select selector

这是我想用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

这只是为了获取用户ID,我似乎无法弄清楚如何选择元素。

然后我需要抓住td中每个select的每个.val()。类似的东西:

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

如何将此代码包装起来并返回如下内容:

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

我打算在ajax请求中使用这个值数组。

2 个答案:

答案 0 :(得分:7)

你可以这样做:

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

在jQuery中执行相同的操作可能有更好的方法,但这应该可行。

答案 1 :(得分:-1)

具有多个属性集

的select元素
<select id="role" name="role" multiple="multiple">


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