ASP.NET Gridview 复选框列 - Onclick 和 jquery
Posted
技术标签:
【中文标题】ASP.NET Gridview 复选框列 - Onclick 和 jquery【英文标题】:ASP.NET Gridview Checkbox column - Onclick and jquery 【发布时间】:2011-07-08 01:26:45 【问题描述】:点击复选框后,我需要检索直接父跨度的类值:
复选框列在 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'。如何访问复选框或父跨度?
【问题讨论】:
其他一切都解决了吗?当你做alert($(this).attr('class'))
时,你得到了你期望的结果吗?我猜this
不是你要找的this
。
是的.. 在 firefox 'this' = Window pages.aspx 中调试时。
【参考方案1】:
只需将复选框传递给点击功能:
onclick="CartItemCheckClicked(this);"
在js文件中比:
function CartItemCheckClicked(chk)
alert($(chk).parent().attr('class'));
【讨论】:
另外,由于您使用 jQuery,您可以使用它来绑定点击事件 intead,那么您根本不用担心传递 arg。即$('input').click(function() alert($(chk).parent().attr('class')); )
以上是关于ASP.NET Gridview 复选框列 - Onclick 和 jquery的主要内容,如果未能解决你的问题,请参考以下文章
ASP:带有分页的 Gridview 复选框列未显示选中了哪个复选框
使用 JQuery 在 GridView ASP.NET 中选择所有复选框
带有复选框控件的 ASP.Net GridView 和 Jquery dataTable