我是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。
谢谢!
答案 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
}
});
问候。