6

Używam funkcji Modal z Bootstrap 3.0.Bootstrap 3/pokazujący modal nie działa ze sposobem javascript

mam ten kod:

<a data-toggle="modal" href="/myNestedContent" data-target="#myModal"> 
    Open the modal containing the content 
</a> 

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
//nested content will be inserted here 
</div> 

Kiedy klikam na kotwicy (link), całość działa => Widzę modal z treści.

Jednak kiedy używam drogę Javascript (zamiast link), aby pokazać modalne tak:

$('#myModal').modal('show'); 

widzę efekt zanikania bez modalnym pokazano tylko ...

Kiedy zacząłem klikając link, TO nazywając javascript, działa. (efekt uboczny?)

Kiedy zacząłem od javascript, EVEN link pokazuje efekt zniknięcia bez modala.

Może to być błąd z metody JavaScript modal?

Aby uzyskać więcej informacji, deklaracje moich skryptów, które używam są we właściwej kolejności:

<script src="//code.jquery.com/jquery.js"></script> 
<script src="javascripts/jquery.form.min.js"></script> 
<script src="javascripts/bootstrap.min.js"></script> 
+1

Nie jestem pewien, co jest nie tak, ale działa to dla mnie za pomocą metody, którą opisałeś - http://jsfiddle.net/kZyLu/ –

Odpowiedz

8

nie jestem pewien, czy mam źle pytanie.

Według mojego rozumienia swoje pytanie, trzeba

$('#myModal').modal({ 
    show: true, 
    remote: '/myNestedContent' 
}); 

nie można po prostu

$('#myModal').modal('show'); 

ponieważ nie ma URL zawarte w niniejszym js metody.

czy to rozwiąże Twoje pytanie?

+1

Nie przetestowałem jeszcze, że zrobiłem +1, ponieważ brzmi to dość oczywiste. :).Rzeczywiście, obecnie moja deklaracja ścieżki zdalnej jest obecna tylko z linkiem. Wstyd mi? :) Wielkie dzięki ! – Mik378

+0

I teraz potwierdzam: całość działa. – Mik378

+0

jesteś mile widziany @ Mik378 :) –

0

Co trzeba zrobić, to usunąć z danych zwalczane z tagiem html gdy używana z js, pozostawiając ją nazwać podwójną funkcję, a następnie jeden pokazuje go, a drugi usuwa go. Tak to rozwiązałem.

+0

uporządkuj swoją odpowiedź w "pseudo" kodzie proszę – chouaib

0

Czytelnicy powinni pamiętać, że „remote”. Opcja jest przestarzała ... per the docs

„Ta opcja jest przestarzała od 3.3.0 i zostaną usunięte w v4 Zalecamy zamiast po stronie klienta przy użyciu templating lub ramy wiążące dane lub wywołujące jQuery.load siebie.

Jeśli zostanie podany zdalny adres URL, zawartość zostanie załadowana jednorazowo za pomocą metody ładowania jQuery's i wstrzyknięta do elementu div .modal. Jeśli używasz danych -api, możesz alternatywnie użyć atrybutu href do określenia zdalnego źródła. Przykład tego jest pokazany poniżej: "

<a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>