脚本停止为加载的表单工作 - jquery加载ajax

时间:2012-04-20 11:02:58

标签: php drupal jquery

我正在使用 drupal ,并且我已成功使用jquery加载函数加载节点创建表单

<div id='test'></div>
<a href='#' id='test2'>test</a>

所以点击链接时会加载表格

var ajax_load = "loading...";
var loadUrl = "NODE_CREATE_PATH";
$("#test2").click(function(){           
   $("#test").html(ajax_load).load(loadUrl);                
});

现在我的问题是所有像日期弹出窗口的脚本都不适用于这个带密码的表单。有人建议我使用http://api.jquery.com/live/,但我不知道如何使用。

请帮助

2 个答案:

答案 0 :(得分:1)

这是因为DOM正在使用新的HTML重新加载。因此,您对这些节点的绑定将不再起作用。

对于其他绑定,您可以使用:http://api.jquery.com/on/(不推荐使用直播活动),但据我所知,不能使用datepicker。

你可以这样做:

function bindStuff(node) {
    node.find('.datepicker').datepicker();
    // Do some more bindings here
}

$("#test2").click(function(){
   $("#test").html(ajax_load).load(loadUrl, function() {
       bindStuff($("#test"));
   });
});

$("#example2").click(function(){
   $("#example").html(ajax_load).load(loadUrl, function() {
       bindStuff($("#example"));
   });
});

答案 1 :(得分:0)

使用Drupal.attachBehaviors()我们可以:)

例如

$(id).load(url, function(){
    Drupal.attachBehaviors(this);
});