我通过ajax将数据发送到我的自定义模块中的PHP回调函数...一切都很好用。我遇到的问题是:我正在返回的html和在ajax完整功能中呈现的是由不会扩展/崩溃的字段集组成。我测试的东西: 1)。如果我将相同的html(字段集)渲染到同一模块中的一个自定义块中,它们工作得很好,崩溃和扩展。 2)。我已经尝试将其包含在回调函数中,
drupal_add_js('misc/form.js');
drupal_add_js('misc/collapse.js');
在fieldset渲染数组中,
return array(
'#type' => 'fieldset',
'#title' => t($title),
'#attributes' => array(
'class' => $class,
),
'#attached' => array(
'js' => array(
'misc/form.js',
'misc/collapse.js',
),
),
);
$class
变量包含折叠和可折叠。我也尝试过使用
#theme => 'fieldset'
而不是#type => 'fieldset'
javascript文件
misc/collapse.js
misc/form.js
已经包含在我的模块中的其他函数中。并且查看页面的来源,确实被包含在页面的头部。
这必须与通过ajax引入它们有关,我知道当你通过ajax将元素添加到文档中时,为了设置你必须使用的新元素的事件
$(document).on('event', 'class', function(){
//code here
});
我想知道这可能是字段集不会崩溃/扩展的原因。
答案 0 :(得分:1)
如果你必须使用像这样的Drupal.behaviors用jQuery获取AJAX数据:
Drupal.behaviors.MYBEHAVIOR = {
attach: function (context, settings) {
$('MYELEMENT.MYBEHAVIOR', context).once('MYBEHAVIOR', function () {
// Apply the MYBEHAVIOR effect to the elements only once.
});
}
};
中的详情