0

我正在使用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);                
});

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

请帮忙

4

2 回答 2

1

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

您可以使用:http ://api.jquery.com/on/ (不推荐使用实时事件)进行其他绑定,但据我所知,日期选择器不能使用。

你可以这样做:

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"));
   });
});
于 2012-04-20T11:21:44.533 回答
0

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

例子

$(id).load(url, function(){
    Drupal.attachBehaviors(this);
});
于 2012-08-11T08:56:57.337 回答