jQuery和ASP.NET UpdatePanel

时间:2012-08-20 06:45:15

标签: jquery asp.net updatepanel

我正在使用下面的代码在按下箭头按钮时切换一些不同的元素。如果我把它放在ASP.net UpdatePanel中,这个代码怎么会不起作用?

$(document).ready(function () {
$(".togglerElement").click(function () {
    var target = $(this).attr("id");
    ToggleTest(target);
});

function ToggleTest(target) {
    var container = "#" + target + "Container";
    var arrowUp = "#" + target + "ArrowUp";
    var arrowDown = "#" + target + "ArrowDown";

    $(container).slideToggle("fast");
    $(arrowUp).toggle();
    $(arrowDown).toggle();
}

});

3 个答案:

答案 0 :(得分:0)

这些是一些有用的链接

Jquery Forum

Jquery and ajax update panel

One More

答案 1 :(得分:0)

您需要在javascript代码中实现pageLoad方法,并在该函数内调用您的jQuery函数。你不能使用click。如果on位于updatepanel内,则需要使用.togglerElement

例如:

function pageLoad(){

 $(document).ready(function () {
   $("body").on('click','.togglerElement',function(){
      var target = $(this).attr("id");
      ToggleTest(target);
   });
 });
}

function ToggleTest(target) {
    var container = "#" + target + "Container";
    var arrowUp = "#" + target + "ArrowUp";
    var arrowDown = "#" + target + "ArrowDown";
    $(container).slideToggle("fast");
    $(arrowUp).toggle();
    $(arrowDown).toggle();
}

答案 2 :(得分:0)

试试这个

$(document).ready(function () {
$(".togglerElement").live('click',function () {
    var target = $(this).attr("id");
    ToggleTest(target);
});

function ToggleTest(target) {
    var container = "#" + target + "Container";
    var arrowUp = "#" + target + "ArrowUp";
    var arrowDown = "#" + target + "ArrowDown";

    $(container).slideToggle("fast");
    $(arrowUp).toggle();
    $(arrowDown).toggle();
}
});