加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Drupal 7 ajax_command_ *创建了不需要的div

发布时间:2020-12-16 02:51:28 所属栏目:百科 来源:网络整理
导读:我正在使用Drupal 7中的 AJAX回调填充选择框.我已经尝试了ajax_command_append()和ajax_command_html()来设置新的选项...语句,但这两个包装我在 div内创建的 HTML.这导致 select不显示任何选项. 有没有办法告诉Drupal“嘿笨,这正是我想要的HTML,不要乱用它”
我正在使用Drupal 7中的 AJAX回调填充选择框.我已经尝试了ajax_command_append()和ajax_command_html()来设置新的<选项...>语句,但这两个包装我在< div>内创建的 HTML.这导致< select>不显示任何选项.

有没有办法告诉Drupal“嘿笨,这正是我想要的HTML,不要乱用它”?

我可以编写一些jQuery来删除我想的div,但如果我可以防止它被添加到第一位的话会好很多.

解决方法

是的你可以!

声明自己的自定义js回调.在下面的例子中,我使用了span而不是div.但你显然可以完全删除包装器.

PHP:

function my_ajax_callback() {
  $data = 'saved!';
  // instead of using ajax_command_html,we provide our own 
  // js custom callback function
  $output = array(
    '#type' => 'ajax','#commands' => array(
      array('command' => 'myjscallback','data' => $data),),);

  return $output; 
}

JS:

$(function() {
  Drupal.ajax.prototype.commands.myjscallback = function (ajax,response,status) {
    $('#save-btn-message').html('<span>' + response.data + '</span>');
  };
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读