我有一个下拉列表,当选中时会在C#中设置一堆变量。然后使用这些变量填充弹出窗口,然后用户单击DDL旁边的锚点。这样可以正常工作,但事实上,当我更改DDL中的值时,popover会保留旧数据。它永远不会更新/刷新新数据。
总之,用户单击下拉列表以更改变量。 DDL旁边有一个帮助图标,用户单击该图标以显示弹出窗口,并从DDL设置的变量中检索数据。
我假设在页面加载时首次使用时保留对象数据。我试过破坏它,隐藏它并重写几次,它只保留旧数据。
问题:如何让popover接受新数据。
$( document ).ready( function (){
$( "#ShowMeterInfo" ).popover( {
title: '<h3 class="custom-title"><span class="glyphicon glyphicon-info-sign"></span> Meter: <%=this.HiddenMeterName.Value%></h3>',
content: "<p><ul><li><strong>Location:</strong><%=this.MeterLocation %></li><li><strong>Id:</strong> 321654</li><li><strong>Building:</strong><%=this.MeterBuilding%></li><li><strong>Site:</strong><%=this.MeterSite%></li></ul></p>",
template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div><div class="popover-footer"><a href="#" class="btn btn-info btn-sm">Close</a></div></div>',
html: true,
animation: true
} );
$( document ).on( "click", ".popover-footer .btn", function (){
$( this ).parents( ".popover" ).popover( 'destroy' );
} );
});
除了数据不会刷新之外,它的效果很好!
答案 0 :(得分:0)
这是因为您使用的元素如下:&lt;%= this.MeterLocation%&gt;这将在渲染时将该字段的值放入您的视图中。您需要获取对呈现的输入元素的引用并检索该值。
因此,当显示弹出时使用类似:
$('#MeterLocation').val()
这将获得该元素的当前值。