我有一个表,其中包含从服务器端脚本(PHP)动态的行 还使用Zend Framework。 所以每行都有id的超链接 someValue中(动态) 现在每行将通过以下代码将每个行附加上下文菜单(Jquery插件)。
$("#myTable td:first-child").contextMenu("myMenu1",{
bindings: {
'hdr': function(t) {
alert($("#Test0").attr("data-value1"));
alert($("#Test0").attr("data-value2"));
}
},
menuStyle: {
border: '1px solid #000'
}
});
所以我的问题是我怎么知道哪一行是单击上下文菜单的 假如我点击第二行我想得到那个< a href> “test1”或“test2”或“test3”或“test4”的值 动态地。我不应该在
上写“test1”或test2儿子答案 0 :(得分:2)
与大多数jQuery事件处理程序一样,我的猜测是this
变量将是被单击的元素。无论如何,如果你至少可以获得被点击的元素,其余部分应该很容易。
查看API文档中的closest()
方法:http://api.jquery.com/closest/
我只是在这里猜测,但你可以做类似的事情
var value = $(this).closest("a.someClass").attr("data-value1");
其中“someClass”是可选的,但如果同一行中可能有其他人,则有助于确保您获得正确的锚标记。
答案 1 :(得分:1)
请提供生成的html标记。 这些方面应该有用:
$("#myTable td:first-child").contextMenu("myMenu1", {
bindings: {
'hdr': function(t) {
alert($("this").closest("tr").find("a").attr("href"));
}
},
menuStyle: {
border: '1px solid #000'
}
});