2010-09-02 41 views
0

我有一個表,其中包含從服務器端腳本(PHP) 動態的行,也使用Zend Framework。 因此,每一行都將有超鏈接,編號爲 SOmevalue(動態) 現在每行將通過下面的代碼附加到每行的contextmenu(Jquery插件)。我如何知道在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' 
     } 
     }); 

所以我的問題是我怎麼知道這是上下文菜單中單擊行,如果我在第二排點擊 假設我要拿到<說,「測試1」的HREF> 值的值或「test2」或「test3」或「test4」
動態。我不應該寫'test1'或test2兒子

回答

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

與大多數jQuery事件處理程序一樣,我猜測this變量將是被單擊的元素。無論如何,如果你至少可以得到被點擊的元素,其餘的應該很容易。

退房的closest()方法的API文檔:http://api.jquery.com/closest/

我只是猜測這裏,但你可以做這樣的事情
var value = $(this).closest("a.someClass").attr("data-value1");,其中「SomeClass的」是可選的,但有助於確保你得到了如果在同一行中有潛在的其他人,則使用右錨標記。

相關問題