我在HTML中使用表格网格,在点击每行中的特定col
时,我使用<tr>
动态创建了一个额外的行。附加行用于向服务器提交数据并在提交后将其删除。现在我想除此之外,表的行号也将被发送到服务器。
当我添加行进行编辑时,表会动态更改。我想通过给每个<tr>
一个名为task_entry
的类并通过计算.task_entry
元素的数量来解决这个问题,我将能够找出我所在的行。但是我无法得到这个工作。我尝试使用$(".task_entry").index(this)
但它返回-1。
有人可以帮忙吗?
答案 0 :(得分:1)
不要使用.live(),因为它已被弃用。
请尝试播放这个小提琴:http://jsfiddle.net/mB49c/1/
基于其中的结构:
$(document).ready(function() {
$('table').on('click', 'td', function() {
//count the row. 0 based. If you want to start at 1, add 1
var my_row = $(this).parent('tr').index('table tr');
$('table').append('<tr class="saving"><td>Col 1</td><td>Col 2</td><td>Col 3</td><td>Col 4</td><td>Col 5</td></tr>');
alert('You clicked on row ' + my_row + ' run some code.. for instance AJAX');
//If using AJAX, add this as a Success callback
$('.saving').remove();
});
});
答案 1 :(得分:0)
$(function() {
$("table td").click(function() {
var this_is = $(this).attr("id");
var this_val = $(this).html();
alert(this_val)
});
});
答案 2 :(得分:0)
请检查您的this
是什么。可能是col,你点击了吗?然后$(".task_entry").index($(this).closest('tr'))
应该做到这一点。