2011-12-19 38 views
0

首先我会解释我的senario:从后面的代码和ajax调用jquery函数

我有一个页面,其中用户登录或注册。登录控件和注册文本框有两个不同的div,我使用jQuery来隐藏和显示另一个。

然后在register DIV我有一个ScriptManagerUpdatePanel和它里面的内容模板我有我的按钮叫check,检查给定的用户名是不是已经选择。 (我有它,因为我不想要回发)。

现在我想实现代码:

当按钮事件检查用户名后,就应该调用一个jQuery函数来显示我在我所有的文本框都包含股利。

<script type="text/javascript"> 
$(document).ready(function() { 
    var ide = $("#reg"); 
    var log = $("#login"); 
    var reg = $("#register"); 
    var regfull = $("#regfull"); 
    reg.hide(); 
    regfull.hide(); 

    ide.click(function() { 
     log.fadeOut().delay(1000); 
     reg.show("slow"); 
    }); 
    function completereg() { 
     regfull.show(); 
    } 
}); 

这是我的jQuery和我想打电话给从后面按钮onclick事件代码completereg();和我的按钮是UpdatePanel

回答

0

首先,你需要将你的功能$(document).ready()块外:

$(document).ready(function() { 
    var ide = $("#reg"); 
    var log = $("#login"); 
    var reg = $("#register"); 
    var regfull = $("#regfull"); 
    reg.hide(); 
    regfull.hide(); 

    ide.click(function() { 
     log.fadeOut().delay(1000); 
     reg.show("slow"); 
    }); 
}); 

function completereg() { 
    $("#regfull").show(); 
} 

然后添加以下到$(document).ready()块监听点击和执行completereg功能:

$(document).on('click','#idofbutton',function(event) { 
    completereg(); 
}); 

什么on函数的作用是侦听目标上的点击(document)并检查触发器的id(#idofbutton)并执行该函数...这适用于尚未dded到DOM。 Documentation for on() here

在这种情况下,目标document应该是触发元素的父元素 - 这实际上应该是一个包含div的元素。

+0

嗨,感谢但有事......当我jit按钮是类型ajax,所以没有document.ready,为什么我的方法传递我的代码到litral不工作现在我怎么可以得到jQuery在没有document.ready事件发生时工作? – user1105338 2011-12-19 12:00:50

+0

@ user1105338请将您的HTML添加到您的问题,并添加您的所有JavaScript或更好创建一个http://jsfiddle.net/ – ManseUK 2011-12-19 14:59:49

相关问题