2012-09-08 81 views
0

我现在有这些的动态数$data['id']当可折叠<div>打开。AJAX请求

我尝试使用.click方法,但我无法使它适用于动态列表<div> s。我感觉一种等待动画完成的方法(以确保页面仍然响应)是最好的方法。

有人可以帮忙吗?

+0

你现在的js代码在哪里? – Daedalus

回答

1

对于动态生成的内容,我建议您使用.on()方法。采取例如以下代码:

$('#container').on('click', 'div', function() { 
    var id = $(this).attr('id'); 
    $(this).animate({ 
     your animation 
    }, 5000, function() { 
     $.ajax({ 
      url: "another_resource.php", 
      type: "POST", 
      data: { 
       id: id 
      }, //data to be sent 
      dataType: "text", //return data type 
      async: false, 
      success: function(data) { 
       console.log(data); 
      }, 
      error: function(data) { 
       console.log(data); 
      } 
     }); 
    }); 
} 

的第一个参数是事件(一个或多个)(可以是分隔为多个事件的空间),而第二个可以是靶向元件,或者要执行的函数。最后,在这种情况下,当然是要执行的功能。

ajax将在动画完成后按要求执行。

+0

非常感谢! – David