我需要读取一个来自bootstrap popver的数据值。
详细说明:
有一个与面板关联的弹出窗口。 进入popover有一个链接触发(通过onClick)一个函数,该函数必须读取包含在面板div中的属性data-info的值。
HTML code:
<div class="panel panel-success redim" data-info="informations" data-content="<div onClick="modifica_appuntamento()" class="text-center"><a href="#">Get info</a></div>" data-original-title="Get data from popover">
<div class="panel-heading">Heading</div>
<div class="panel-body">Body</div>
</div>
Jquery的:
$(function() {
popoverOptions = {
html: true,
animation: true
};
$('.panel').popover(popoverOptions);
});
function modifica_appuntamento() {
alert($(this).parent().data('info'));
}
的jsfiddle: https://jsfiddle.net/fabioravizzotti/3h4vu8Ly/
你能帮我找一个解决方案吗?
感谢。
答案 0 :(得分:1)
第一个问题:
您的元素选择器错误,因为在这种情况下.parent()
实际上是主.popover
div,而您尝试从data-info
获取的元素是{{1} }。所以你应该使用:
.prev()
第二个问题:
您无法在功能中使用$(this).closest('.popover').prev().data('info');
。使用内联$(this)
属性,您应该将元素传递给函数:
onclick
然后:
onClick='modifica_appuntamento(this);'
旁注。
It's not a good practice to use javascript attributes
我建议您在弹出链接中添加function modifica_appuntamento(elem) {
$(elem)....
}
并使用jQuery委托click事件:
class="data-info"