2011-03-03 50 views
2

在複選框的點擊,我需要檢索直接父跨度的類值:ASP.NET GridView的複選框列 - 鼠標點擊和jQuery

複選框列在一個ItemTemplate定義爲:

<asp:CheckBox CssClass='<%# Eval("ID") %>' Checked='<%# Eval("IsSelected") %>' 
             Text="" runat="server" onclick="CartItemCheckClicked()" /> 

的JS函數被定義爲:

function CartItemCheckClicked() { 
     alert($(this).parent().attr('class')); //Undefined 
     //alert($(this).attr('id')); //Undefined 
    } 

輸出繼電器示例HTML

<span class="283"><input type="checkbox" onclick="CartItemCheckClicked();" checked="checked" name="grvShoppingCart$ctl02$ctl00" id="grvShoppingCart_ctl00_0"></span> 

但結果總是'undefined'。如何訪問複選框或父跨度?

+1

是一切解決?當你提醒($(this).attr('class'))''時,你會得到你期望的結果嗎?我猜這個''這不是你要找的'這個'。 – Kendrick 2011-03-03 13:19:43

+0

是的..當在Firefox中調試'this'= Window webpage.aspx。 – 2011-03-03 13:21:32

回答

2

只是通過複選框,單擊功能:

onclick="CartItemCheckClicked(this);" 

而在js文件比:

function CartItemCheckClicked(chk) { 
     alert($(chk).parent().attr('class')); 
    } 
+0

完美!!謝謝。 – 2011-03-03 13:25:06

+0

不客氣。 – 2011-03-03 13:25:48

+1

也因爲您使用jQuery,您可以使用它來綁定點擊事件intead,那麼您根本不必擔心傳遞arg。即'$('input')。click(function(){alert($(chk).parent()。attr('class'));})' – Menahem 2011-03-03 13:39:17