javascript - 根据按钮单击更改模态的 href

标签 javascript django

点击这个按钮打开模式

<button type="button" id ="soldBtn" class="btn btn-info" data-toggle="modal" data-target="#myModal">This laptop has been sold</button>

这是模式

<div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog modal-sm">
      <div class="modal-content">
        <div class="modal-header">
          <p>Confirmation</p>
        </div>
        <div class="modal-body">
          <p>Are you sure you want to do this?</p>
        </div>
        <div class="modal-footer">
          <a class="btn btn-outline-success" id="confirmBtn" href="#" >Yes</a>
            <a class="btn btn-outline-danger" id="cancelBtn" data-dismiss="modal">No</a>
        </div>
      </div>
    </div>
  </div>
</div>

我可以为不同的按钮设置不同的模式,但我宁愿遵循 DRY 原则。我希望 confirmBtnhref 根据单击打开模式的按钮进行更改。到目前为止我已经尝试过了,但我什至不确定我是否在正确的轨道上。

<script type="text/javascript">
  if(jQuery('#soldBtn').data('clicked')) {
    document.getElementById("confirmBtn").href="{%url 'laptops:sale'%}";
}
</script>

最佳答案

您应该首先等待 DOM 加载。这可以通过使用以下内容包装您的脚本代码来完成:

$(function(){
    // Here you will place the code that follows
});

然后您应该为 ID 为 soldBtn 的 DOM 元素上的点击事件注册一个事件处理程序:

$("#soldBtn").on('click', function(){
    var confirmBtnEle = $("#confirmBtn");
    confirmBtnEle.attr('href','%url 'laptops:sale'%');
});

显然,您必须将我们传递给上面的 attr 方法的第二个参数更改为您想要的。

关于javascript - 根据按钮单击更改模态的 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49964094/

相关文章:

python - django:将表单字段添加到从另一个表生成的表单中

javascript - HTML 输入类型=日期 工作日

javascript - WebSocket 连接失败。 Websocket 握手期间出错。响应代码 403?

javascript - Canvas - 翻转一半图像

python - PyDev 自动完成不起作用

jquery - 在 Django 中 AJAX 发布后重定向

javascript - MomentJS 将格式从 YYYYMMDD 更改为

javascript - 通过 For 循环访问对象元素

django - 测试链接是否指向 Django 中的正确页面

MySQL 测试数据库失败