【问题标题】:How to pass value into href link of a Bootstrap Modal?如何将值传递到引导模式的 href 链接?
【发布时间】:2019-06-07 09:23:05
【问题描述】:

我想清除某个表的值,所以我想使用 Bootstrap 模式获取表名。我想要 url 中的表名。

这是我的代码: 这里我将表的名称发送到模态中

<ol class="breadcrumb text-center">
  <li class="breadcrumb-item">
     <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product1">Insert1</a>
     <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product2">Insert2</a>
     <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product3">Insert3</a>
     <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product4">Insert4</a>
</ol>

我想将 data-table 中的值作为 clear.php?clear_id="table_name"

传递给 href
<div class="modal fade" id="scrapModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel1" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel1">Confirm Clear?</h5>
        <button class="close" type="button" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">×</span>
        </button>
      </div>
      <div class="modal-body">Are you sure you want to clear scrap for this table.</div>
      <div class="modal-footer">
        <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
        <a class="btn btn-danger" href="clear.php?clear_id=">Clear</a>
      </div>
    </div>
  </div>
</div>

提前谢谢你!

【问题讨论】:

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


    【解决方案1】:

    您可以使用这样的简单脚本来完成:

    $('#scrapModal').on('show.bs.modal', function (event) {
      var table = $(event.relatedTarget).data('table');
      $(this).find('.btn-danger').attr("href", "clear.php?clear_id=" + table);
    )}
    

    这将在模式出现时运行。最好给确认按钮一个 id 属性,以便以更优雅的方式查找。

    您可以在此处找到有关更改模态内容的更多信息:https://getbootstrap.com/docs/4.0/components/modal/#varying-modal-content

    【讨论】:

      【解决方案2】:

      您可以通过使用shown.bs.modal 事件触发器并使用事件中relatedTarget 属性提供的data-table 属性来构建URL,从而动态更改模式中清除按钮的href 值对象。

      我添加了一个清除按钮单击事件以直观地强调这一点。

      $('#scrapModal').on('show.bs.modal', function (e) {
        var table = $(e.relatedTarget).data('table')
        var href = 'clear.php?clear_id=' + table
        $('.btn-danger', this).attr('href', href)
        console.log(href)
      })
      
      // Simulate "clear" button click to alert href value
      $('#scrapModal .btn-danger').on('click', function (e) {
        e.preventDefault()
        alert(e.target.pathname + e.target.search)
      })
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
      <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet"/>
      
      <ol class="breadcrumb text-center">
        <li class="breadcrumb-item">
           <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product1">Insert1</a>
           <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product2">Insert2</a>
           <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product3">Insert3</a>
           <a class="btn btn-primary" href="#scrapModal" data-toggle="modal" data-table="product4">Insert4</a>
        </li>
      </ol>
      
      <div class="modal fade" id="scrapModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel1" aria-hidden="true">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
            <div class="modal-header">
              <h5 class="modal-title" id="exampleModalLabel1">Confirm Clear?</h5>
              <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&#215;</span>
              </button>
            </div>
            <div class="modal-body">
              Are you sure you want to clear scrap for this table.
            </div>
            <div class="modal-footer">
              <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
              <a class="btn btn-danger" href="#">Clear</a>
            </div>
          </div>
        </div>
      </div>

      【讨论】:

        【解决方案3】:

        在您的脚本标签中使用以下代码行,这应该可以正常工作。

        $('#scrapModal .btn-danger').on('click', function (e) {
          e.preventDefault()
          alert(e.target.pathname + e.target.search)
        })
        

        【讨论】:

          猜你喜欢
          • 2015-12-02
          • 2016-03-09
          • 2018-09-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-17
          • 2014-05-15
          • 1970-01-01
          相关资源
          最近更新 更多