JQuery popover保留旧变量

时间:2016-01-13 22:25:52

标签: jquery html asp.net popover

我有一个下拉列表,当选中时会在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' );
    } );                                               

});

除了数据不会刷新之外,它的效果很好!

1 个答案:

答案 0 :(得分:0)

这是因为您使用的元素如下:&lt;%= this.MeterLocation%&gt;这将在渲染时将该字段的值放入您的视图中。您需要获取对呈现的输入元素的引用并检索该值。

因此,当显示弹出时使用类似:

$('#MeterLocation').val()

这将获得该元素的当前值。