当想要获取更改事件未实现其采购的表格的单元格时,我遇到以下问题。
任何想法如何得到它,它会很受欢迎。
<tr>
<td>1</td>
<td><div class="switch switch-small">
<input name="op1" type="checkbox" checked />
</td></div>
</td></tr>
$("tbody tr td input:checkbox").change(function() {
id = $(this).parent().parent().children().index(this.parentNode);
alert(id);
});
答案 0 :(得分:1)
<强> jsBin demo 强>
您无法在</div>
之后关闭</td>
。您还要关闭TD
元素的3倍。请立即查看您的HTML标记。
如果您想要点击复选框的TD:
$("td :checkbox").change(function() {
var TD = $(this).closest("td");
alert(TD.index()); // or use TD.closest("tr").index(); // to get the TR index
});
答案 1 :(得分:1)
您的问题不明确,但我想您希望获得与无线电输入相对应的索引。正如@Roko在他的回答中提到的,你的标记是错误的,它应该是以下形式:
<tr>
<td>1</td>
<td>
<div class="switch switch-small">
<input name="op1" type="checkbox" checked />
</div>
</td>
</tr>
最后要获取索引1
,当名称为op1
的输入发生变化时,请按照以下方式进行操作:
$("td input[type='checkbox']").on("change", function() {
var trParent = $(this).parent().parent().parent();
var id = $("tr").index(trParent);
alert(id);
});
我希望有所帮助,或者你可以考虑回顾一下你的问题。
答案 2 :(得分:0)
尝试更简单的
$(function() {
$("table [type='checkbox']").on("change", function() {
console.log($(this).parent().prev().html());
});
});
jQuery选择器含义:&#34;表格中有type=checkbox
&#34;
答案 3 :(得分:0)
var cell = $(this).closest('td'); var cellIndex = cell [0] .cellIndex
var row = cell.closest('tr'); var rowIndex = row [0] .rowIndex;