如何获取每个选定行的下拉列表值?

时间:2013-03-20 14:28:01

标签: javascript jquery knockout.js

我有一张看起来像这样的表

<table id="grid" class="table table-bordered table-hover table-inline">
    <thead>
        <tr>
            <th>Id</th>
            <th>Dropdown List</th>
            <th><input id="selectAll" type="checkbox" /></th>
        </tr>
    </thead>
    <tbody data-bind="foreach: stuff
        <tr>
            <td data-bind="text: someId"></td>
            <td>
                <select class="input-medium" data-bind="options: someStuff, optionsText:'DisplayName', optionsValue:'StandardCode'"></select>                           
            </td>
            <td>
                <input type="checkbox" data-bind="value: someId"/>
            </td>
        </tr>
    </tbody>
</table>

然后我的javascript我正在迭代所选行

$('grid input[type="checkbox"]:checked').each(function () {

    var someSelectedId= $(this).val();

    var dropDownlistValue= ??       
});

我正在使用knockout将我的数据绑定到表格和下拉列表。

当我在迭代行时,当我迭代它时,如何在每行的下拉列表中获取所选值?对于我的生活,我似乎无法弄明白。谢谢!

2 个答案:

答案 0 :(得分:2)

使用:

var dropDownlistValue = $(this).parent().prev().find('select.input-medium').val();

答案 1 :(得分:2)

或者...

$(this).closest("tr").find("select.input-medium").val();

A.V的方法可能更快,但转到TR可以提供更大的灵活性,因为无论在哪一行,它都会找到选择。