jquery - Bootstrap 4 : "Don' t show me again"on a modal checkbox

标签 jquery html css bootstrap-4

我有一个带有复选框的模式,上面写着“不要再显示我”。 当我单击该复选框然后按下“关闭”按钮时,我希望我的模式“永远”消失。

我正在使用 jquery-cookie,但我不明白为什么它不起作用。

当我选中复选框并按下“关闭”按钮并重新加载页面时,模态将卷土重来..

这是我的代码:https://codepen.io/anon/pen/WBPLEK

这只是 JS 部分:

jQuery(document).ready(function($) {

    if ($.cookie('cacher-modal')) {
        $("#popupMaintenanceModal").remove();
    }
    else {
        $('#popupMaintenanceModal').modal('show');
    }

    if ($('#popupMaintenanceCheckbox').is(':checked')) {
        $(".btn-maintenance").click(function () {
            $("#popupMaintenanceModal").remove();
            $.cookie('cacher-modal', true);
        });
    }
});

最佳答案

当窗口复选框被点击时,你并没有设置你的 cookie。相反,您需要向您的复选框添加一个点击事件监听器,然后检查它是否被选中/未选中并设置适当的 cookie。此外,要隐藏模式,您可以使用:

$("#popupMaintenanceModal").modal("hide");

正确关闭模态。

jQuery(document).ready(function($) {
  if ($.cookie("cacher-modal")) {
    $("#popupMaintenanceModal").remove();
  } else {
    $("#popupMaintenanceModal").modal("show");
  }

  $("#popupMaintenanceCheckbox").click(function() {
    if ($(this).is(":checked")) {
        $("#popupMaintenanceModal").modal("hide");
        $.cookie("cacher-modal", true);
    } else {
      $.cookie("cacher-modal", false);
    }
  })
});

关于jquery - Bootstrap 4 : "Don' t show me again"on a modal checkbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56428641/

相关文章:

jQuery clone() 在 div 上的位置很奇怪

javascript - 使用粘性导航调整窗口大小时横幅位置关闭

javascript - JS改变高度并返回原始CSS高度

javascript - 为什么 jquery 触发器不起作用?

html - 导航栏位置问题解决

javascript - three.js CSS3DRenderer如何控制字体大小

jquery - 切换根据操作替换文本

javascript - 将标题从主页设置为 iframe

html - h3 文本已溢出

html - 移动设备上的网站标题 div 问题