我现在只在Knockout和jQuery中设置了一个表,我需要能够找到一行被点击以供选择的行索引。我设置它,以便我的表由一个Knockout可观察数组填充,我的表行单击事件由以下函数处理:
$("#table tr").live("click", callbackFunc(position));
但是正如您所看到的,我需要将所单击的行的位置传递给函数以使其工作。我尝试的最后一件事是:
$("tr",$(this).parent("#table")).index(this)
但那只返回-1。
有人知道解决方案吗?
答案 0 :(得分:2)
你可以在jquery中做这样的事情
$("#table tr").on("click", function()
{
$(this).prevAll("tr").size(); //this will return all tr before current tr
//i.e current row index
} );
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序
答案 1 :(得分:0)
请改为尝试:
$("#table").index(this)
希望这能解决您的问题。
答案 2 :(得分:0)
你应该像这样使用jQuery的.index()方法
$("#table tr").live("click", callbackFunc);
function callbackFunc(){
var index = $(this).parent().index(this);
}