在触发按钮时从数据表中的行获取下拉选定值

时间:2015-08-02 15:58:19

标签: javascript datatables datatables-1.10

我已将样本纳入jsFiddle

我的问题是,当触发"点击"时,如何让行下拉选中的值按钮位于同一行。

这是我的HTML:

<table id="table1">
<thead>
    <tr>
        <th>Item</th>
        <th>UOM</th>
        <th></th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>Item 1</td>
        <td>
            <select>
                <option></option>
                <option>BAG</option>
                <option>UNIT</option>
            </select>
        </td>
        <td>
            <button type="button" class="add">Click</button>
        </td>
    </tr>
    <tr>
        <td>Item 1</td>
        <td>
            <select>
                <option></option>
                <option>BAG</option>
                <option>UNIT</option>
            </select>
        </td>
        <td>
            <button type="button" class="add">Click</button>
        </td>
    </tr>
</tbody>

我的JavaScript:

oTable = $("#table1").dataTable({
    "fnDrawCallback": function(oSetting){
        $(".add").click(function(){
            var data = oTable.row($(this).parents('tr') ).data();
            console.log(data);
        });
    }
});

1 个答案:

答案 0 :(得分:1)

<强>解

我会使用rowCallback来定义在绘制行时执行的回调。

然后,您可以按<select>查询$('select', row).val()元素的值,如下所示:

'rowCallback': function(row, data, index){
    $('.add', row).click(function(){
        console.log($('select', row).val());
    });
}

<强>样本

请参阅this jsFiddle以获取代码和演示。