2009-09-02 2 views
1

Я пытаюсь использовать jqModal в моем приложении .net/mvc, чтобы делать простые jQuery модальные всплывающие окна. У меня есть таблица, где я перечисляю записи и имею кнопку «изменить», чтобы всплывать модальный диалог для редактирования. Когда я отправляю, я скрываю модальное всплывающее окно и обновляю таблицу ниже, используя метод .ajax().Ajax refresh messes up jqModal function

Однако теперь, когда я нажимаю на странице редактирования, jqModal не запускается, а вместо этого он просто переходит на мою страницу редактирования (а не модальное всплывающее окно).

Я попытался повторно вставить скрипты jqModal после обратного вызова ajax, но это тоже не сработает. Любая помощь оценили !!!

$.ajax(
{ 
    type: "GET", 
    url: "HomePage/ViewTimelineFeatures", 
    dataType: "html", 
    success: function(result) { 
      $("myDiv").html(result); 
      // Now re-initialize jqModals here doesn't work... 
     } 
    }); 

ответ

4

Вы должны добавить триггеры снова после обновления html. У меня была такая же проблема.

Когда вы вызываете $ ("# blah"). Jqmodal ... он устанавливает триггер класса .jqmodal для загрузки вашего контента в модальном режиме. Я предполагаю, что вы загружаете их с помощью ajax? Так что-то вроде:

$("#someDiv").jqModal({ajax:'@href'}); 

Я немного смущен вашей выше код Ajax, это делает, кроме этого пункта вы изменили? Это обычно не было бы, а положено. В любом случае, похоже, что вы выставляете таблицу с обновленными данными и заменяете существующую. После

$ ("myDiv"). Html (результат);

Вам нужно

$("#someDiv").jqmAddTrigger(".jqModal"); 

Чтобы добавить триггеры снова на ваших редактирования ссылок (предполагается, что вы использовали .jqModal в первую очередь) Если Вы хотите вставить в некоторых HTML-код/​​АЯКС я могу проверить это ,