微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Rails:用ajax填充bootstrap下拉列表

我目前有一个显示通知的下拉列表
<li class="notifications dropdown"> 
  <a class="dropdown-toggle" id="dLabel" role="button" data-remote="true" data-toggle="dropdown" data-target="#" href="/notifications"><i class="icon-user"></i> Notifications</a>
  <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
  </ul>
</li>

ul下拉列表为空,但点击链接后我想用rails中的数据填充菜单.

我目前在notifications.js.erb中有这个

$(".nav li.notifications .dropdown-menu").remove();
$(".nav li.notifications").append("<%= escape_javascript(render('users/notifications',notifications: @notifications)) %>");

通常我会将下拉链接设置为远程,但由于我使用的是bootstrap的下拉列表,因此没有请求发送到notifications.js.erb.如何在那里手动调用代码

解决方法

我会添加JavaScript代码来进行调用
$(document).ready(function() {
    $('#dLabel').click(function() {
        // Only call notifications when opening the dropdown
        if(!$(this).hasClass('open')) {
           $.ajax({
              type: "GET",url: "/notifications",async: false,dataType: "script"
           });
        }
    });
});

您也可以使它异步并暂时将加载图标放入菜单中…

原文地址:https://www.jb51.cc/ajax/158337.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐