【问题标题】:Append html to bootstrap modal not working将 html 附加到引导模式不起作用
【发布时间】:2014-10-14 08:13:35
【问题描述】:

我正在尝试使用 data- 属性将 php foreach 循环中的图像加载到引导模式中,但目标 div 中没有显示 - 这是我的代码:

<script>

$(document).ready(function(){

  $( ".subscribe" ).on( "click", function() {
  var imgURL = $( this ).attr( "data-img-url" );
  console.log(imgURL);
});


$( "#subscribeModal" ).on('shown', function(){
  $('#sub_img').append('<img src="'+imgURL+'" />');
 });
});

</script>

【问题讨论】:

  • 你的 var imgURL;是一个局部变量

标签: javascript jquery twitter-bootstrap append bootstrap-modal


【解决方案1】:

您有 2 个问题。首先是其他地方提到的imgURL 参数。其次,要绑定的事件的名称应该是shown.bs.modalBootstrap website 上的文档说:

show.bs.modal 该事件在调用 show 实例方法时立即触发。如果是由单击引起的,则单击的元素可用作事件的 relatedTarget 属性。

$( "#subscribeModal" ).on('shown.bs.modal', function(){
  $('#sub_img').append('<img src="'+imgURL+'" />');
 });
});

【讨论】:

    【解决方案2】:

    变量imgURL 是单击处理程序的本地变量,因此无法在shown 处理程序中访问它。在这两个函数的共享范围内声明变量以使其工作

    $(document).ready(function () {
        var imgURL;
        $(".subscribe").on("click", function () {
            imgURL = $(this).attr("data-img-url");
            console.log(imgURL);
        });
    
    
        $("#subscribeModal").on('shown', function () {
            $('#sub_img').append('<img src="' + imgURL + '" />');
        });
    });
    

    【讨论】:

    • @user1199795 那么是时候提供完整的示例了。您可能会错过一些元素,或者事件以非您认为的顺序触发,或者shown 是不正确的事件。
    • 感谢您的解决方案有效,事件名称错误,如下所述。谢谢两个
    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多