2014-02-22 152 views
0

我用這個上下文菜單表上右鍵單擊:TR元素: http://www.downloadjavascripts.com/list/javasitelll99/Details.aspxwdContextMenu獲得點擊的元素ID

它工作正常!併爲動作處理定義了一個函數。

var option = { width: 150, items: [ 
    { text: "Edit", icon: "public/images/sample-css/wi0126-16.gif", alias: "1-1", action: menuAction }, 
    { text: "Activate", icon: "public/images/sample-css/ac0036-16.gif", alias: "1-2", action: menuAction }, 
    //this is normal menu item, menuAction will be called if this item is clicked on 
    { text: "Deactivate", icon: "public/images/sample-css/ei0021-16.gif", alias: "1-3", action: menuAction }, 
    //this is a split line 
    { type: "splitLine" }, 
    //this is a parent item, which has some sub-menu items 
    { text: "Delete", icon: "public/images/sample-css/ei0021-16.gif", alias: "1-3", action: menuAction }, 
    { type: "splitLine" }, 
    { text: "Item Four", icon: "public/images/sample-css/wi0124-16.gif", alias: "1-5", action: menuAction }, 
    { text: "Group Three", icon: "public/images/sample-css/wi0062-16.gif", alias: "1-6", type: "group", width: 180, items: [ 
     { text: "Item One", icon: "public/images/sample-css/wi0096-16.gif", alias: "4-1", action: menuAction }, 
     { text: "Item Two", icon: "public/images/sample-css/wi0122-16.gif", alias: "4-2", action: menuAction } 
    ] 
    } 
] 
}; 


function menuAction(){ 
    alert(this.data.alias); 
} 

但是,現在我想要得到點擊表的id:tr元素。 如何得到它?

回答

0

假設TABLEID是你的表的ID此功能可以幫助你:

function getIdOfRowByIndex(tableId, rowIndex) { 
    return document.getElementById(tableId).rows[rowIndex].id; 
} 

如果你有一個tr元素,那麼這個功能應該可以幫助您:

function getIdOfRow(trElement) { 
    return trElement.id; 
} 

您可以使用jQuery來簡化你的任務,但這些函數是技術無關的,以幫助那些不想/可以使用jQuery的人。

2
var myElementId; 

var option = { ... 
    onShow: applyrule, 
    onContextMenu: BeforeContextMenu 
}; 

function menuAction() { 
    alert(myElementId); 
} 

function applyrule(menu) { 
    myElementId = this.id 
}