2016-01-13 6 views
0

У меня есть раскрывающийся список, который при выборе устанавливает набор переменных в C#. Эти переменные затем используются для заполнения popover, затем пользователь нажимает на якорь рядом с DDL. Это работает отлично, но по факту, когда я изменяю значение в DDL, popover хранит старые данные. Он никогда не обновляет/обновляет новые данные.JQuery popover хранит старую переменную

Таким образом, пользователь нажимает раскрывающееся меню, чтобы изменить переменные. Рядом с DDL появляется значок справки, который пользователь нажимает, чтобы отобразить popover, с данными, полученными из переменных, заданных 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

Это потому, что вы используете такие элементы, как: <% = this.MeterLocation%> который поместит значение этого поля в ваше представление во время рендеринга. Вам нужно вместо этого получить ссылку на отображаемый элемент ввода и получить значение.

Так при показе трещать использования что-то вроде:

$('#MeterLocation').val() 

И это будет получить текущее значение этого элемента.

+0

Спасибо, я использовал скрытое поле, и оно отлично работало. –

Смежные вопросы