【发布时间】:2015-07-21 23:26:06
【问题描述】:
我正在尝试为我的网页创建一个弹出框。第一次单击时它对我不起作用,但此后可以正常工作。我意识到它在第一次点击时被实例化,因此不会出现。有没有更好的方法来实例化它,因为我使用的是在运行时生成的 id。我看过类似的问题,但它们似乎对我不起作用。这是我写的代码,
<table id="userInfo">
<thead>
<tr>
<th>UserGroup</th>
</tr>
</thead>
<tbody>
<% @userdetails.each do |user| %>
<tr>
<td>
<a class='user_show_more' data-placement='left' id='<%= user %>'>[+]</a>
<!-- popover table starts here -->
<div id="<%= user %>_popover" style="display: none">
<table>
<thead>
<tr>
<th>UserNames</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<%= user['name'] %>
</td>
</tr>
</tbody>
</table>
</div>
<!-- popover ends here -->
<% user['group'] %>
</td>
</tr>
<% end %>
</tbody>
</table>
我的 javascript 代码看起来像这样,
$('.user_show_more').on('click', function (e) {
var $this = $(this)
var popover_id = '#'+$this.attr("id");
$(popover_id).popover({
html : true,
content: function() {
var popover = '#'+$this.attr("id")+'_popover';
return $(popover).html();
}
});
});
【问题讨论】:
-
我相信你在初始化popover之后仍然需要调用show。添加“$(popover_id).popover('show');”到您的点击处理程序的末尾。
标签: javascript jquery ruby-on-rails twitter-bootstrap popover