2012-09-09 20 views
5

Giả sử tôi có liên kết sau được tạo X lần theo vòng lặp.Tải URL động qua phương thức

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

Đây là tập lệnh JS khởi tạo phương thức.

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

Nó hoạt động khi địa chỉ remote được mã hóa cứng, nhưng tôi muốn nó hoạt động tùy thuộc vào những gì được truyền cho nó.

Trả lời

9

Các phương thức Plugin thực hiện phương pháp load() trong constructor của nó, vì vậy thực sự là cách duy nhất để thay đổi nội dung từ xa của một phương thức (trừ bằng tay làm AJAX mình) là để tiêu diệt nó trước khi thực hiện một cuộc gọi khác:

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

Có nhiều chi tiết hơn trong câu trả lời cho một bài đăng tương tự: Twitter bootstrap remote modal shows same content everytime

+0

nhưng làm cách nào để chuyển URL chính xác vào trường 'từ xa'? Nếu tôi có nhiều liên kết, mỗi người sẽ gọi URL tương ứng của riêng họ. – luckytaxi

+1

Nếu bạn bao gồm url từ xa trong thuộc tính 'href' của các neo, thì plugin phương thức sẽ tự động sử dụng chúng làm giá trị' từ xa' khi khởi tạo. Vấn đề là bạn cần phải tiêu diệt đối tượng phương thức mỗi lần để làm cho nó khởi động lại trên các lần nhấp tiếp theo. Tùy chọn tôi đề xuất trong câu trả lời khác mà tôi liên kết là hủy bỏ đối tượng phương thức khi một sự kiện ** ẩn ** được kích hoạt. – merv

+0

Tôi hiểu rồi, tôi đã không nhận ra rằng 'href' được chuyển tự động. Giải pháp của bạn hoạt động hoàn hảo, cảm ơn! – luckytaxi

Các vấn đề liên quan