jQuery jqModal Ajax и вложенные модальные задачи - PullRequest
1 голос
/ 27 апреля 2009

Я только начал использовать jqModal, так как мне нужна поддержка для вложенных модалов. Я замечаю какое-то странное поведение с вложенными модалами и AJAX, но я точно не знаю, как это исправить. Что происходит, когда я загружаю основной модал, в котором есть вложенный модал, я получаю два div jqmOverlay, как будто он применяет оверлей для обоих модалов, хотя вложенный мод еще не запущен. Поэтому, когда я закрываю модальное окно, все еще отображается один оверлей. Вот код:

// Main Modal
$(function(){
  $("#modal").jqm({ajax:'@href'});
});
<a class="label jqModal" href="/suppliers/2/edit">View Supplier</a>


// Nested Modal code fragment within the /suppliers/2/edit html
$(function(){
  $("#nested_modal").jqm({ajax:'@href', zIndex:3001});
})
<a class="button jqModal" href="/suppliers/6/bills/new">Add Bill</a>

Кажется, это работает с первого раза, но если я закрою основной модал, а затем снова открою, у меня возникнет проблема двойного наложения. Это ошибка? или как я называю свой вложенный модал? Кроме того, я знаю, что это связано с вложенным модалом, потому что когда я удаляю вызов jqm для вложенного модала, основной модал работает нормально каждый раз.

1 Ответ

4 голосов
/ 02 мая 2009

У меня были похожие проблемы с моим вложенным AJAX jqModals. Вот решение: параметр toTop в сочетании с z-index .

Установите высокий z-index вашего вложенного модала, а затем установите toTop в true при создании JQM. Например:

// Nested:
<div id="test" style="z-index: 5000;">Test content</div>
...
<script type="text/javascript">
$.ready(function(){
    $('#test').jqm({
    toTop:                  true,
    modal:                  true,
    overlay:                10,
    });
});
</script>

Возиться с z-index и параметром toTop должно помочь в решении вашей проблемы.

...