我使用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>
我该如何解决?感谢名单。
答案 0 :(得分:0)
Bootstrap事件没有传递参数,在您的代码中,您希望e
和data
。
你应该检查一下ul
是否已经有了孩子,以及它是否没有取一些并附加它们。