2011-02-02 1 views
1

Поэтому я хочу, чтобы мои пользователи имели возможность щелкнуть ссылку в простой модальной коробке jQuery и закрыть ее в новом модальном поле и открыть новый с новым контентом.Нажмите ссылку в простой модальной форме, чтобы открыть новый простой мода

До сих пор это не сработало:

$('#search_dialog_link').click(function() { 
     $("#search_dialog").modal(
      { 
       position: [150,125], 
       minWidth: 400 
      } 
    ); 
});  

$('#create_course_link').click(function() { 
    $.modal.close(); 
    $('#add_course_dialog').modal(
     { 
     position: [150,125], 
     minWidth: 400 
     } 
    ); 
}); 

Где #search_dialog_link, #create_course_link, #search_dialog и #add_course_dialog устанавливаются таким образом:

<div id="default-content"> 
This is the page where all of your classes and a list of upcoming assignments will be displayed. 
Since you do not have any classes, why not try to add one by clicking the link below.<br><br> 
<center><div id="search_dialog_link">+Add a Course</div></center> 
</div> 
</div> 
<div id="search_dialog"> 
<p>Search for the teacher of your class:</p> 
<form id="searchform"><input type="text" width="200px" size="30" value="" id="inputString" /> 
<div style="font-size: 10; position:relative; bottom:20px; left: 200px;">Dont see it?<div id="create_course_link">Create</div> a new class.</div> 
</form> 
</div> 
<div id="add_course_dialog"> 
<p>Test</p> 
</div> 

Обратите внимание, что открывает окно #search_dialog правильно, и когда пользователь нажимает на div #create_course_link, оригинальный модальный блок закрывается. Но новый модальный блок не отображается. Что я делаю не так?

ответ

4

Существует ошибка с v1.4.1, которая, вероятно, вызывает проблему. Чтобы исправить проблему Opera, в функции закрытия есть вызов setTimeout.

Чтобы обойти это, вы можете обновить свой код следующим образом:

$('#create_course_link').click(function() { 
    $.modal.close(); 

    setTimeout(function() { 
     $('#add_course_dialog').modal(
     { 
     position: [150,125], 
     minWidth: 400 
     } 
    ); 
    }, 20); 
}); 
+0

Спасибо, что сработало отлично! Кстати, продолжайте большую работу над проектом. – retnuh

0

ответ Эрик должен работать, так как он сам разработал вещь. ОДНАКО, это заставит простой модальный исчезнуть и открыть новый. Это может быть нежелательно.

Я столкнулся с этой ситуацией в своем раннем использовании simpleModal, так как я сумасшедший архитектор (я не считаю себя программистом, но смог поставить 2 & 2 вместе).

Чтобы обойти это, создайте глобальную переменную и глобальный массив. Используйте глобальную переменную в качестве указателя на экран и глобальный массив как содержимое «наложения». Таким образом, вы сможете перемещаться назад и четверть, не закрывая модальный.

Это была моя ранняя реализация экранирования в первые дни работы Clipper (помните?). Я использовал его с Pascal Programming (да, я был программистом Pascal ... но оставил его).

Посмотрите здесь: http://clubetititi.com. Это на португальском, но вы не должны волноваться.

Удачи вам!

0

Это, кажется, было исправлено в упрощенном 1.4.2, я предлагаю модернизировать.

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

  • Нет связанных вопросов^_^