无法获得表格单元格

时间:2015-01-08 19:59:57

标签: javascript jquery html

当想要获取更改事件未实现其采购的表格的单元格时,我遇到以下问题。

任何想法如何得到它,它会很受欢迎。

<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);
});

enter image description here

4 个答案:

答案 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;