首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal7 ajax的可折叠字段集问题

问Drupal7 ajax的可折叠字段集问题
EN

Stack Overflow用户
提问于 2013-09-07 09:13:05
回答 1查看 1.2K关注 0票数 1

我正在通过ajax将数据发送到自定义模块中的PHP回调函数...一切都运行得很好。我遇到的问题是:我在ajax complete函数中返回和呈现的html是由不会展开/折叠的字段集组成的。我测试过的东西: 1)。如果我将相同的html (字段集)呈现到相同模块中的一个自定义块中,它们就会工作得很好,折叠和展开。2)。我已经尝试在回调函数中包含此函数,

代码语言:javascript
复制
  drupal_add_js('misc/form.js');
  drupal_add_js('misc/collapse.js');

在fieldset呈现数组中,

代码语言:javascript
复制
return array(
    '#type' => 'fieldset',
    '#title' => t($title),
'#attributes' => array(
     'class' => $class,
),
'#attached' => array(
    'js' => array(
      'misc/form.js',
      'misc/collapse.js',
    ),
  ),
);

这个

代码语言:javascript
复制
$class

变量包含折叠和可折叠。我也尝试过使用

代码语言:javascript
复制
#theme => 'fieldset'

代替#type => 'fieldset'

javascript文件

代码语言:javascript
复制
misc/collapse.js
misc/form.js

已经包含在我的模块中的另一个函数中。而看着页面的源码,确实是被收录到了页面的头部。

这必须与通过ajax引入元素有关,我知道当您通过ajax将元素引入文档时,以便为那些必须使用的新元素设置事件

代码语言:javascript
复制
$(document).on('event', 'class', function(){
  //code here
 });

我想知道这是否是字段集不能折叠/展开的原因。

EN

回答 1

Stack Overflow用户

发布于 2013-09-08 22:51:36

如果你使用AJAX和jQuery来获取数据,你必须像这样使用Drupal.behaviors:

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18668694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档