获取表格单元格值,我选中了复选框

时间:2013-01-31 16:22:38

标签: javascript jquery

我是JQuery的新手,我遇到了麻烦。我想从表格行中读取一个特定的单元格值,我有一个复选框。我有一个处理复选框检查事件的事件。这是我的代码:

$("#businesses input:checkbox").change(function (
        var $this = $(this);
        if ($this.is(":checked")) {

            //Here I want to read a value from a column in a row where is the checkbox

        } else {
            //Here I want to read a value from a column in a row where is the checkbox 
        }
});

我有一个名为“business”的表,它有这种格式

<table id="businesses">
<tr>
  <th>Select Value</th>

  <th>Value</th>
</tr>
<tr>
  <td><input type="checkbox" class="selectedService" title="Seleccionar" /></td>
  <td>125</td> 
</tr>  
<tr>
  <td><input type="checkbox" class="selectedService" title="Seleccionar" /></td>
  <td>126</td> 
</tr>
</table>

我想要做的是,当我选中一个复选框时,获取其行的值字段。

如果我按下第一个复选框,我想得到125。

谢谢!

4 个答案:

答案 0 :(得分:1)

从复选框(事件处理函数中的this)开始,您需要转到包含<td>元素,直到下一个<td>元素,然后获取其文本:

$('#businesses input:checkbox').change(function(e) {
    if(this.checked) {
        var value = parseInt($(this).closest('td').next('td').text(), 10);
        // above will convert it from a string to an integer
    }
    else {
        // same as above? Seems redundant
    }
});

答案 1 :(得分:0)

使用父级的siblings()

$this.closest('td').siblings().text();

如果这不是唯一的其他<td> siblings()将返回所有其余的,请使用适当的选择器来过滤它们。

答案 2 :(得分:0)

您可以通过以下方式访问它:

$this.parent().next().text();

答案 3 :(得分:0)

试试这个......

$("#businesses input:checkbox").on ('change', function (e)
        if ($(this).is(":checked")) {
            $( e.target ).closest("td").text();
        } else {
            //Here I want to read a value from a column in a row where is the checkbox 
        }
});

问候。