2011-05-25 30 views
3

我在asp.net中使用網格視圖,我想單擊網格時獲取元素,我該怎麼做? 一個網格有一個列ID,名稱,經紗,緯紗等,我想選擇使用Javascript選定的單元格數據,讓我知道。我如何獲得使用Javascript的ASP.Net網格元素

請幫助...

問候 與Atif

+0

你想獲得點擊的按鈕,裏面GRDI查看? – 2011-05-25 09:43:22

+0

是的,我想如果你點擊網格視圖的任何一行,它應該獲取元素的集合。 ID,名稱,翹曲,緯線 – 2011-05-25 10:32:41

回答

0

來跟蹤行按鈕後,你必須設置row Index作爲參數傳遞給像JS功能...

protected void grdForecast_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType ==DataControlRowType.DataRow) 
    { 
     ((Button)e.Row.FindControl("buttonId")).Attributes.Add("onclick", "javascript:update(" + (e.Row.RowIndex) + ");"); 
    } 
} 

然後在JavaScript:

<script language="javascript" type="text/javascript"> 
    function update(ri) { 
     var grd = document.getElementById('<%= GridView1.ClientID %>'); 
     SecondCellValue = grd.rows[ri].cells[1].childNodes[0].value 
     ThirdCellValue = grd.rows[ri].cells[2].childNodes[0].value 
    } 
</script> 
+0

我不想單擊按鈕,我想整行都是可點擊的,這有可能嗎? – 2011-05-25 10:52:22

+0

這js不起作用,如果我們警告secondcellvalue或thirdcellvalue返回undefined – 2011-05-25 11:32:46

+0

你可以把childNodes [1] .value並嘗試? – 2011-05-25 11:34:11

0

你有,你可以參考在細胞內的控制?如果沒有,那麼你可以創建一個隱藏的控件。然後,您可以通過ScriptManager在PreRender事件處理程序中將控件的客戶端ID寫入客戶端。然後,您可以通過id獲取該元素,並在該父元素內查找其他內容。

或者,你可以使用jQuery處理單元click事件...

$('#myTable td').click(function() { 
    alert($(this).html()); 
});