在第一列单击时获取行的值作为数组

时间:2016-03-17 06:17:34

标签: html html-table

我有一个包含n行的html表。每行的第一列是单选按钮。我想实现以下功能:

当用户点击单选按钮(第一列)时,我希望将相应的行值作为数组。

谢谢

2 个答案:

答案 0 :(得分:1)

我认为你需要这个......

$("#table_id tbody").on('click', 'tr td:first-child', function (e) {
    var data = [];
    $(this).parent('tr').find('td:not(:first)').map(function(index, val) {
        data.push($(val).html());
    }));
});

答案 1 :(得分:0)

例如 HTML代码:

<table id="data">
    <tr>
        <td><input name="check" type="radio" class="radiobtn" /></td>
        <td>Data 1</td>
        <td>Data 2</td>
        <td>Data 2</td>
        <td>Data 4</td>
    </tr>
    <tr>
        <td><input name="check" type="radio" class="radiobtn" /></td>
        <td>Data 5</td>
        <td>Data 6</td>
        <td>Data 7</td>
        <td>Data 8</td>
    </tr>
    <tr>
        <td><input name="check" type="radio" class="radiobtn" /></td>
        <td>Data 9</td>
        <td>Data 10</td>
        <td>Data 11</td>
        <td>Data 12</td>
    </tr>
    <tr>
        <td><input name="check" type="radio" class="radiobtn" /></td>
        <td>Data 13</td>
        <td>Data 14</td>
        <td>Data 15</td>
        <td>Data 16</td>
    </tr>
</table>

Javascript(jQuery):

$(document).ready(function(){
    $(".radiobtn").click(function(){
        var tds = $(this).closest('tr').children('td');
  console.log(tds);
        var dataArray =[];
        for(i=1;i < tds.length;i++) 
            dataArray.push($(tds[i]).html());
        //Use dataArray here
       $("#console").html(JSON.stringify(dataArray));
    });
});

演示:http://codepen.io/ivoglent/pen/rejyxb