2012-08-14 73 views
0

我有一些东西,这取决于如果它被点击或未点击会做些事情。事情是,我试图做一个onclick,它不会开火。选择/取消选择复选框还需要其他一些东西吗?点击一个asp:复选框会触发什么事件?

ASP:

<div id = "gridDiv"> 
    Turn on/off some code: 
    <asp:Checkbox runat="server" name = "gridlock" id = "gridLockAttribute" /> 
</div> 

客户方:

$("#gridLockAttribute").click(function(){ 
    try{ 
     alert("test"); 
    }catch(err){ 

    } 
}); 

它似乎没有提醒。

+0

只要您在$(document).ready( – 2012-08-14 21:54:04

+0

)中运行该javascript,就应该没问题在注册点击处理程序之前仔细检查该元素是否存在(例如,通过将该方法封装在[dom ready函数] ://api.jquery.com/ready/))。你也可以尝试使用['.change()'](http://api.jquery.com/change),尽管点击也应该被触发 – nbrooks 2012-08-14 21:54:32

+0

你应该在'catch'块中使用'console.log(err)'或者'alert(err)'... – ahren 2012-08-14 21:56:21

回答

3

如果控件位于另一个控件中,ASP.NET可能会名称变形,因此诸如$("#gridLockAttribute")之类的内容将无法工作。您可以选择使用:

$("#<%= gridLockAttribute.ClientID %>") 

或者:

$('[id$=gridLockAttribute]') 

我更喜欢第一种方法。

此外,如果您试图让复选框自动导致回发,您需要将复选框上的AutoPostBack属性设置为True

+0

我不是想要导致回发,但我会检查是否有效。 – Fallenreaper 2012-08-14 21:58:35

+0

Don别忘了那个你可以在你最喜欢的JavaScript调试器中设置一个断点,以查看元素是否被命名为mangled。 – FishBasketGordo 2012-08-14 22:00:33

+0

这似乎解决了问题....现在,我可以打代码。我只需要做到这一点,如果(这是选择){...}其他{...} – Fallenreaper 2012-08-14 22:01:02

相关问题