您好我有一个从数据库自动填充的bootstrap下拉菜单。当我点击菜单中的某个项目时,我正试图让事件发生。我试过了
$("body").on("click", ".ddBtnClick", function(event) {
console.log("Is it working? Yes!!");
});
“.ddBtnClick”是分配给列表中每个项目的类。但什么都没发生。 以下是从数据库填充列表的代码。
$.getJSON("http://jeremiah.abrahamott.com/DadsCarsObjects.txt", function(data){
$.each(data.aaData, function(i, option){
$("#dropdownfill").append($('<li/>').append($('<a/>').attr("id", option.Year).attr("href", "#").attr("tabindex", "-1").addClass("ddBntClick").text(option.Make)))
});
});
这是下拉列表的html。
<div class="row" style="margin-left:50px;">
<div class="span3">
<div class="btn-group">
<a class="btn dropdown-toggle" data- toggle="dropdown" href="#">Make
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" id="dropdownfill">
</ul>
</div>
</div>
</div>
答案 0 :(得分:1)
问题在于您的className。您正在为ddBtnClick
注册委派的事件处理程序,但实际的类名是ddBntClick
。
$("body").on("click", ".ddBtnClick", function(event) {
console.log("Is it working? Yes!!");
});
和
.addClass("ddBntClick");
在施工期间更改班级名称或更改活动委派。
$(function()
{
$("body").on("click", ".ddBntClick", function(event) {
console.log("Is it working? Yes!!");
});
});
答案 1 :(得分:0)
您是否尝试在document.ready
事件中包装Javascript?
$(function()
{
$("body").on("click", ".ddBtnClick", function(event) {
console.log("Is it working? Yes!!");
});
});
有关更多信息和示例,请参阅jQuery .ready()
documentation。
此外,您应该在实际按钮上注册点击事件,并使用.click()
代替.on()
:
$(function()
{
$(".ddBtnClick").click(function(event) {
console.log("Is it working? Yes!!");
});
});
此外,您还有拼写错误:
.addClass("ddBntClick")
应该是:
.addClass("ddBtnClick")