简体   繁体   English

引导模式中的动态数据属性

[英]Dynamic data attribute in bootstrap modal

I made a piece of code that changes the data attribute of a link that opens a bootstrap modal window.我编写了一段代码,用于更改打开引导程序模式窗口的链接的数据属性。 I cannot get the modified data attribute (provided by setLink(); ) from the shown.bs.modal function.我无法从显示的shown.bs.modal函数中获取修改后的数据属性(由setLink(); )。

How do I proceed?我该如何进行? Example below always displays the value of the original data attribute(first data set from setLink() ... but not other value called after).下面的示例始终显示原始数据属性的值(来自setLink()第一个数据集......但不是之后调用的其他值)。

Note : Modal preview is always called after setLink function.注意:模态预览总是在 setLink 函数之后调用。 I call setLink();我打电话给setLink(); then I click on the preview link that open modal.然后我点击打开模态的预览链接。

<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>');
});

Ok, jquery dom process => I change btn.data('link');好的,jquery dom 进程 => 我改变了btn.data('link'); to btn.attr('data-link'); to btn.attr('data-link'); and it work它工作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM