如何使用jquery查找选定的行

时间:2015-10-23 08:49:21

标签: javascript jquery html

我有一个表格和一个按钮来获取所选行:

array (size=2)
2015 => 
    array (size=11)
      '04' => string 'Array(2)' (length=8)
      '05' => string 'Array(2)' (length=8)
      '06' => string 'Array(2)' (length=8)
      '07' => string 'Array(2)' (length=8)
      '08' => string 'Array(2)' (length=8)
      '09' => string 'Array(2)' (length=8)
      10 => string 'Array(2)' (length=8)
      11 => string 'Array(2)' (length=8)
      12 => string 'Array(2)' (length=8)
      5 => string 'Array(1)' (length=8)
      8 => string 'Array(1)' (length=8)
  2016 => 
    array (size=4)
      '01' => string 'Array(2)' (length=8)
      '02' => string 'Array(2)' (length=8)
      '03' => string 'Array(2)' (length=8)
      '04' => string 'Array(2)' (length=8)

当我点击该行时,我将背景颜色设置为红色。

<table id="mytable" class="table-striped">
    <tbody>
        <tr id="1"><td>Test1</td></tr>
        <tr id="2"><td>Test2</td></tr>
        <tr id="3"><td>Test3</td></tr>
        <tr id="4"><td>Test4</td></tr>
        <tr id="5"><td>Test5</td></tr>
    </tbody>
</table>
<button id="btn">Get Selected Row</button>

问题是当我点击按钮时,如何使用jquery获取所选行(背景颜色为红色)?

以下是我所做的:http://jsfiddle.net/xu2AH/865/

3 个答案:

答案 0 :(得分:4)

您可以将.highlight类的所有行与tr.highlight匹配。

如果您想要jQuery对象(如果找到匹配项),您需要在getRow()函数中返回它:

function getRow() {
    return $('table > tbody > tr.highlight');
}

JSFiddle

答案 1 :(得分:1)

由于您要将.higlight类添加到点击的行中,然后使用这些类找到它:

function getRow() {
  // here you need to return the value
  // to be available when function was called
  return $('table > tbody').find('.highlight');
}

$('#btn').click(function (e) {
  var selrow = getRow();
  // index of selected row
  alert('Index is :' +selrow.index());
  // text of selected row
  alert('My text is :' +selrow.text());
});

答案 2 :(得分:0)

你可以这样做

$(".table-striped > tbody > tr").each(function()
    if ($(this).hasClass("highlight"))
        console.log($(this).attr("id"));
);

这样它将在lçog上打印所选行的id