2012-09-09 22 views
5

Załóżmy, że mam następujący link, który został wygenerowany X razy przez pętlę.Ładowanie dynamicznego adresu URL za pomocą modalnego

<a class="btn" data-toggle="modal" data-target="#view_more" href="/item/view/<?php echo $item_id; ?>">Launch Modal</a> 

Oto skrypt JS, który inicjuje modal.

$(document).ready(function() { 
    $('#view_more').modal({ 
     remote: '/item/view/1', 
     show:false 
}); // Start the modal 

Działa gdy remote url jest ustalony, ale chciałbym to być dynamiczny w zależności od tego, co zostanie przekazane do niego.

Odpowiedz

9

modalnego plugin wykonuje metodę load() w jego konstruktora, tak naprawdę jedynym sposobem, aby zmienić zdalny zawartość modalne (innych niż ręcznie robi AJAX siebie) jest zniszczenie go przed wykonaniem kolejnego połączenia:

$('#view_more') 
    .removeData('modal') 
    .modal({ 
    remote: someURL, 
    show: false 
    }); 

Jest więcej szczegółów w odpowiedzi na podobny wpis: Twitter bootstrap remote modal shows same content everytime

+0

ok, ale jak przekazać poprawny adres URL do pola 'remote'? Jeśli mam wiele linków, każdy z nich wywołuje własny adres URL. – luckytaxi

+1

Jeśli umieścisz zdalny adres URL w atrybutach 'href' kotwicy, modalna wtyczka automatycznie użyje ich jako wartości' remote' przy inicjalizacji. Problem polega na tym, że za każdym razem trzeba zniszczyć obiekt modalny, aby go ponownie zainicjować przy kolejnych kliknięciach. Opcja, którą zasugerowałem w drugiej odpowiedzi, do której się przyłączyłem, polega na zniszczeniu obiektu modalnego, gdy zostanie wywołane ** ukryte ** zdarzenie. – merv

+0

Rozumiem, nie zdawałem sobie sprawy, że 'href' jest automatycznie przekazywany. Twoje rozwiązanie działa idealnie, dzięki! – luckytaxi

Powiązane problemy