Динамический c атрибут данных в bootstrap модальном - PullRequest
0 голосов
/ 08 января 2020

Я сделал фрагмент кода, который изменяет атрибут данных ссылки, которая открывает модальное окно bootstrap. Я не могу получить модифицированный атрибут данных (предоставленный setLink();) из функции shown.bs.modal.

Как мне продолжить? В приведенном ниже примере всегда отображается значение исходного атрибута данных (первый набор данных из setLink() ... но не другое значение, вызываемое после).

Примечание: Модальный предварительный просмотр всегда вызывается после функции setLink. Я звоню setLink();, затем нажимаю на ссылку предварительного просмотра, которая открывает модальный.

<a href="javascript:void(0)" class="preview" data-toggle="modal" data-target="#preview" data-link="">Preview</a>

<a href="javascript:void(0)" onclick="setLink()">Change link</a>

function setLink(){
    var quotes = new Array("Salon du vin Belgique", "Salon du vin et gastronomie", "Salon du vin de Huy", "Vins et produits bio", "Dégustation de vins de qualités", "Foire des vins", "Salon du vin et des produits bio", "Foire des vins de Huy", "Salon du vin et de la gastronomie de Huy", "Foire des vins et des produits bio", "Foire des vins et de la gastronomie",  "Découvrir des meilleurs vins de cette année", "Nous sommes présents au salon du vin de Huy"),
        randno = quotes[Math.floor( Math.random() * quotes.length )];

    $('.preview').attr('data-link', randno);
}

$('#preview').on('shown.bs.modal', function(event)
{
    var btn = $(event.relatedTarget),
        link = btn.data('link');

    $(this).find('.modal-body').html('<a href="javascript:void(0);">'+link+'</a>');
});

1 Ответ

0 голосов
/ 08 января 2020

Хорошо, jquery dom process => Я изменяю btn.data('link'); на btn.attr('data-link');, и это работает

...