我正在通过ajax将数据发送到自定义模块中的PHP回调函数...一切都运行得很好。我遇到的问题是:我在ajax complete函数中返回和呈现的html是由不会展开/折叠的字段集组成的。我测试过的东西: 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
});我想知道这是否是字段集不能折叠/展开的原因。
发布于 2013-09-08 22:51:36
如果你使用AJAX和jQuery来获取数据,你必须像这样使用Drupal.behaviors:
Drupal.behaviors.MYBEHAVIOR = {
attach: function (context, settings) {
$('MYELEMENT.MYBEHAVIOR', context).once('MYBEHAVIOR', function () {
// Apply the MYBEHAVIOR effect to the elements only once.
});
}
};有关更多信息,请参阅js文档https://drupal.org/node/756722
https://stackoverflow.com/questions/18668694
复制相似问题