2015-07-01 18 views
5

Kiedy klikam na drugi modal, pierwszy modal znika. Jednak również chcę go otworzyć! Czy jest to sposób na wyłączenie tego zachowania?Modal w innym trybie na UIkit

Zauważyłem również, że inne struktury, takie jak Fundacja, mają to samo zachowanie.

Oto mój kod:

<a href="#my-id" data-uk-modal>Open Modal</a> 
<div id="my-id" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
     <a href="#my-id2" data-uk-modal>Nested Modal</a> 
    </div> 
</div> 
<div id="my-id2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
    </div> 
</div> 

Zobacz jsfiddle demo.

Odpowiedz

1

Trzeba zrobić kilka zmian:

kodzie HTML:

<a href="#my-id" data-uk-modal >Open Modal</a> 
<div id="my-id" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
     <a href="#my-id2" data-uk-modal>Nested Modal</a> 
    </div> 
</div> 
<div id="my-id2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <a class="uk-modal-close uk-close"></a> 
     <p>Lorem ipsum...</p> 
    </div> 
</div> 

Twój kod jQuery powinny lubię:

$(document).ready(function(){ 

    $.UIkit.modal('#my-id').show(); 
    $.UIkit.modal('#my-id2').show(); 

}); 

To powinno działać

+0

Próbowałem co zaproponował ale to nie działa . Zobacz demo [tutaj] (https://jsfiddle.net/davis88/6g80c1nf/9/embedded/result/). – gmuser

+0

nah .. jeśli usuniesz linie jquery, zadziała, p –

0

mam zakładać nowych kod to działa, więc spróbuj tego: To zadziała

<div> 
    <h2>Multiple Modal</h2> 
    <button class="uk-button" data-uk-modal="{target:'#modal1'}">Open Modal 1</button> 

</div> 

<!-- This is the modal 1--> 
<div id="modal1" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 1</h2> 
     <button class="uk-button" data-uk-modal="{target:'#modal2'}">Open Modal 2</button>  
    </div> 
</div> 


<!-- This is the modal 2--> 
<div id="modal2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 2</h2> 
     <a class="uk-modal-close" href="#">Close Modal 2</a> 
    </div> 
</div> 

To powinno działać ...

+1

Ponownie, to nie działa, ponieważ pierwszy modal znika po kliknięciu na drugi. – gmuser

2

Z dokumentacji:

Można wywołać nową modalne wewnątrz bieżącego modalnej. Domyślne zachowanie zamyka pierwszy modal po otwarciu drugiego. Możesz temu zapobiec, dodając atrybut data-uk-modal="{target:'#ID',modal:false}".

Więc coś takiego:

<div> 
    <h2>Multiple Modal</h2> 
    <button class="uk-button" data-uk-modal="{target:'#modal1', modal: false}">Open Modal 1</button> 

</div> 

<!-- This is the modal 1--> 
<div id="modal1" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 1</h2> 
     <button class="uk-button" data-uk-modal="{target:'#modal2', modal: false}">Open Modal 2</button>  
    </div> 
</div> 


<!-- This is the modal 2--> 
<div id="modal2" class="uk-modal"> 
    <div class="uk-modal-dialog"> 
     <h2>Modal 2</h2> 
     <a class="uk-modal-close" href="#">Close Modal 2</a> 
    </div> 
</div> 

powinno działać.

Mam to praca z javascript:

var modal1 = UIkit.modal("#modal1", {center: true, modal: false}), 
    modal2 = UIkit.modal("#modal2", {modal: false}); 
+0

Dzięki! Zadziałało !! –

0

Można pokazać wiele czasowniki modalne użyciu uk-modal="stack: true"

Oto kod

<button class="uk-button uk-button-default uk-margin-small-right" type="button" data-uk-toggle="target: #modal-example-1">Open</button> 

<!-- This is the Parent modal --> 
<div id="modal-example-1" uk-modal> 
    <div class="uk-modal-dialog uk-modal-body"> 
     <h2 class="uk-modal-title">Parent Modal</h2> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
     <p class="uk-text-right"> 
      <button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button> 
      <button class="uk-button uk-button-primary" type="button">Save</button> 
     </p> 
     <button class="uk-button uk-button-default uk-margin-small-right" type="button" data-uk-toggle="target: #modal-example-2">Open</button> 
    </div> 
</div> 

<!-- This is the Child modal --> 
<div id="modal-example-2" uk-modal="stack: true"> 
    <div class="uk-modal-dialog uk-modal-body"> 
     <h2 class="uk-modal-title">Child Modal</h2> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
    </div> 
</div>