【问题标题】:How can I add Html tags (like <button>) in Popover Content (Bootstap) by Javascript如何通过 Javascript 在 Popover Content (Bootstrap) 中添加 Html 标签(如 <button>)
【发布时间】:2021-02-07 18:54:43
【问题描述】:

我正在使用 Bootstrap-Popover。我想在弹出框内有一个按钮。之前还可以,现在不行了。

<button type="button" class="btn btn-primary mx-2" id="pop" data-container="body" data-toggle="popover" data-placement="bottom" data-html="true" data-content="">
  Button
</button>

Javascript:

function updatePopover() {
    var popStr = "";
    popStr = popStr + "<h5> Heading :  </h5><div class='mx-2 my-2'>";
    popStr = popStr + "<button class='btn btn-success' onclick='function()' id ='funcid'>Button</button>"
    document.getElementById('pop').setAttribute('data-content', popStr);
    $('#popcart').popover('hide');

}

【问题讨论】:

    标签: javascript html bootstrap-4 popover


    【解决方案1】:

    简单地说,您可以执行以下操作:

    var dynamicData = ['Dynamic Data', 'Dynamic Data', 'Dynamic Data', 'Dynamic Data'];
    
    $('[data-toggle="popover"]').popover({
        title: "<h5>Heading</h5>",
        content: function () {
            var resultData = $(`<div><ul class="list-group">`);
            for (var i in dynamicData) {
                resultData = resultData.add(
                    `<li class="list-group-item d-flex justify-content-between align-items-center">
                        `+ dynamicData[i] + `
                        <span class="badge badge-primary badge-pill">`+ i + `</span>
                    </li>`
                );
                // console.log(i, dynamicData[i]);
            }
    
            resultData = resultData.add(`</ul><br/><button class='btn btn-danger' id ='funcid'>Close</button></div>`);
    
            return resultData;
        }
    });
    
    $(document).on("click", "#funcid", function () {
        $(this).parents(".popover").popover('hide');
    });
    .popover-body {
        width: 200px;
    }
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
        integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
        crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
        integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
        crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
        integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
        crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
        integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
        
    <button type="button" class="btn btn-primary mx-2" data-toggle="popover" data-placement="bottom" data-html="true">
        Button
    </button>

    【讨论】:

    • 假设我想在popover中添加一些动态数据。就像循环中的一些数据一样。我该怎么做?
    • 感谢您的回复,我也想知道如何将这些动态数据列为引导列表,例如 - (getbootstrap.com/docs/4.0/components/list-group/#with-badges)
    • 非常感谢您帮助我...如果您能帮助我将动态数据与您的逻辑相结合,我将不胜感激。我已将我的代码邮寄给您(s.pabon93@gmail.com)。请看一看!
    【解决方案2】:

    您提供的代码已损坏。你忘了"在结尾

    popStr = popStr + "<button class='btn btn-success' onclick='function()' id ='funcid'>Button</button>"
    

    你可以试试看它是否能解决你的问题。

    【讨论】:

    • 我抄错了。在原始代码中,我输入了“”,但它仍然无法正常工作
    猜你喜欢
    • 2017-06-25
    • 2013-10-23
    • 2011-09-03
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多