Bootstrap Dropdown动态ajax列表项

时间:2015-03-11 21:08:36

标签: javascript jquery html ajax twitter-bootstrap

我使用Bootstrap Dropdown,我试图在显示下拉列表之前通过AJAX动态填充列表项。我的脚本必须从数据库中获取可用项并将其插入< ul>< / ul>

我阻止默认事件,执行ajax并在之后触发,但“数据”未定义,我看不到下拉列表。像这样的脚本通常适用于表单。

    $(".dropdown").on("show.bs.dropdown", function(e, data){
    ths = $(this);
    if (data == 'okay') return true;
    e.preventDefault();
    $.ajax({
        type: 'POST',
        url: '/core/test.php',
        data: 'test'
    }).done(function(response) {
        $(ths).children('ul').html(response);
        $(ths).trigger('click.bs.dropdown', 'okay');
    });

});

HTML:

<div class="dropdown">
   <a data-toggle="dropdown" 
      class="btn dropdown-toggle">My list <b class="caret"></b>
   </a>
   <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
      ...data from ajax puts here...
   </ul>
</div>

我该如何解决?感谢名单。

1 个答案:

答案 0 :(得分:0)

Bootstrap事件没有传递参数,在您的代码中,您希望edata。 你应该检查一下ul是否已经有了孩子,以及它是否没有取一些并附加它们。