【问题标题】:Bootstrap Modal not opening (trigger) on clickBootstrap 模态在单击时未打开(触发)
【发布时间】:2017-01-06 14:42:39
【问题描述】:

我的模态有一些问题。我搜索了很多,我发现data-target="#panel-modal2" 有一些类似的问题,没有#,但我的似乎还可以。有什么帮助吗?

这是我的 HTML:

<div class="btn-group">
  <a class="btn btn-red btn-ripple" data-toggle="modal" data-target="#panel-modal2">Transfer</a>
</div><!--.btn-group-->


<div class="modal modal-nutrition fade full-height from-right" id="panel-modal2" tabindex="-1" role="dialog" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <div class="row">
          <div class="col-md-12">
            <h4 class="modal-title">Transfer</h4>
          </div>
        </div>
      </div>
      <div class="modal-body">
        <div class="form-group">
          <div class="row">

          </div>
          <div class="row margin-top-30">
            <div class="col-md-3">To:</div>
            <div class="col-md-9">
              <select class="selectpicker" data-width="100%">
                <option>- Select -</option>

              </select>
            </div>
          </div>
          <div class="row margin-top-30">
            <div class="col-md-3">Date:</div>
            <div class="col-md-9">
              <div class="control-group">
                <div class="controls">
                  <div class="input-group">
                    <span class="input-group-addon"><i class="ion-android-calendar"></i></span>
                    <div class="inputer">
                      <div class="input-wrapper">
                        <input type="text" style="width: 200px" name="transferDate" class="form-control bootstrap-daterangepicker-basic" value="03/18/2013" />
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="row">
          <div class="col-md-12">
            <div class="note note-info note-left-striped">

            </div><!--.note-->
          </div><!--.col-md-12-->
        </div><!--.row-->
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-flat-secondary" data-dismiss="modal">Cancel</button>
        <button type="button" class="btn btn-flat-primary" data-dismiss="modal">Submit</button>
      </div>
    </div>
  </div>

【问题讨论】:

  • 你没有很好地描述你的问题。您能否详细说明您的问题?
  • 嗯,当我点击 &lt;a class="btn btn-red btn-ripple" data-toggle="modal" data-target="#panel-modal2"&gt;Transfer&lt;/a&gt; 时,模态没有触发
  • 我不确定这是否只是一个复制和粘贴问题,但我认为您可能在末尾缺少一个结束 &lt;/div&gt; 标记
  • 所有div都正确打开和关闭
  • 所以复制粘贴问题?当我抓取您发布的代码时,我可以看到这个 div:&lt;div class="modal modal-nutrition fade full-height from-right" 尚未关闭

标签: javascript jquery html twitter-bootstrap


【解决方案1】:

尝试在脚本标签中添加 bootstrap.js。还要在 bootstrap.js 之前添加 jquery.js

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>


 <div class="btn-group">
                                    <a class="btn btn-red btn-ripple" data-toggle="modal" data-target="#panel-modal2">Transfer</a>
                                </div><!--.btn-group-->


<div class="modal modal-nutrition fade full-height from-right" id="panel-modal2" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <div class="row">
                <div class="col-md-12">
                    <h4 class="modal-title">Transfer</h4>
                </div>
            </div>
        </div>
        <div class="modal-body">
            <div class="form-group">
                <div class="row">
                    <div class="col-md-3">From:</div>
                    <div class="col-md-9">Nursery</div>
                </div>
                <div class="row margin-top-30">
                    <div class="col-md-3">To:</div>
                    <div class="col-md-9">
                        <select class="selectpicker" data-width="100%">
                            <option>- Select -</option>
                            <option>Nursery</option>
                            <option>Toddlers</option>
                            <option>Other kindergarten</option>
                        </select>
                    </div>
                </div>
                <div class="row margin-top-30">
                    <div class="col-md-3">Date:</div>
                    <div class="col-md-9">
                        <div class="control-group">
                            <div class="controls">
                                <div class="input-group">
                                    <span class="input-group-addon"><i class="ion-android-calendar"></i></span>
                                    <div class="inputer">
                                        <div class="input-wrapper">
                                            <input type="text" style="width: 200px" name="transferDate" class="form-control bootstrap-daterangepicker-basic" value="03/18/2013" />
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-md-12">
                    <div class="note note-info note-left-striped">
                        <h4>Active Transfer</h4>
                        <p>This person will transfer to Nursery on 14.05.2016</p>
                        <p>If you submit a new transfer the active one will be overwrited.</p>
                    </div><!--.note-->
                </div><!--.col-md-12-->
            </div><!--.row-->
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-flat-secondary" data-dismiss="modal">Cancel</button>
            <button type="button" class="btn btn-flat-primary" data-dismiss="modal">Submit</button>
        </div>
    </div>
</div> 

【讨论】:

    【解决方案2】:

    请添加默认 jquery 和 boostrap js,您的模态弹出窗口将正常工作。请查看下面的 sn-p 以获得更多理解。

    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <div class="btn-group">
      <a class="btn btn-red btn-ripple" data-toggle="modal" data-target="#panel-modal2">Transfer</a>
    </div><!--.btn-group-->
    
    
    <div class="modal modal-nutrition fade full-height from-right" id="panel-modal2" tabindex="-1" role="dialog" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <div class="row">
              <div class="col-md-12">
                <h4 class="modal-title">Transfer</h4>
              </div>
            </div>
          </div>
          <div class="modal-body">
            <div class="form-group">
              <div class="row">
                <div class="col-md-3">From:</div>
                <div class="col-md-9">Nursery</div>
              </div>
              <div class="row margin-top-30">
                <div class="col-md-3">To:</div>
                <div class="col-md-9">
                  <select class="selectpicker" data-width="100%">
                    <option>- Select -</option>
                    <option>Nursery</option>
                    <option>Toddlers</option>
                    <option>Other kindergarten</option>
                  </select>
                </div>
              </div>
              <div class="row margin-top-30">
                <div class="col-md-3">Date:</div>
                <div class="col-md-9">
                  <div class="control-group">
                    <div class="controls">
                      <div class="input-group">
                        <span class="input-group-addon"><i class="ion-android-calendar"></i></span>
                        <div class="inputer">
                          <div class="input-wrapper">
                            <input type="text" style="width: 200px" name="transferDate" class="form-control bootstrap-daterangepicker-basic" value="03/18/2013" />
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="row">
              <div class="col-md-12">
                <div class="note note-info note-left-striped">
                  <h4>Active Transfer</h4>
                  <p>This person will transfer to Nursery on 14.05.2016</p>
                  <p>If you submit a new transfer the active one will be overwrited.</p>
                </div><!--.note-->
              </div><!--.col-md-12-->
            </div><!--.row-->
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-flat-secondary" data-dismiss="modal">Cancel</button>
            <button type="button" class="btn btn-flat-primary" data-dismiss="modal">Submit</button>
          </div>
        </div>
      </div>

    【讨论】:

    • 好吧,我在html的最后一行添加了默认jquery和bootstrap,仍然不起作用
    • 控制台是否显示任何错误? bootstrap js和默认jquery是否有新版本?
    • 不,没有错误。我正在获取最新版本的引导程序,我在另一个页面中有类似的模式,可以正常工作
    • 这很奇怪。如果您包含了默认的 jquery 和 bootsrap js,它应该可以正常工作,因为您的模态弹出代码是完美的。首先你已经包含了默认的 jquery,然后是 bootstrap js?
    • 是的,就是这样
    【解决方案3】:

    这可能是因为您使用的 jquery 版本太旧或太新,无法满足 bootstrap v3.x.x 的要求。检查你的jquery版本(最高)是2.2.4,因为你的代码没问题,没有问题。

    【讨论】:

      【解决方案4】:

      试试这个

      <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
      
      <div class="btn-group">
                                          <a class="btn btn-red btn-ripple" data-toggle="modal" data-target="#panel-modal2">Transfer</a>
                                      </div><!--.btn-group-->
      
      
      <div class="modal modal-nutrition fade full-height from-right" id="panel-modal2" tabindex="-1" role="dialog" aria-hidden="true">
      <div class="modal-dialog">
          <div class="modal-content">
              <div class="modal-header">
                  <div class="row">
                      <div class="col-md-12">
                          <h4 class="modal-title">Transfer</h4>
                      </div>
                  </div>
              </div>
              <div class="modal-body">
                  <div class="form-group">
                      <div class="row">
                          <div class="col-md-3">From:</div>
                          <div class="col-md-9">Nursery</div>
                      </div>
                      <div class="row margin-top-30">
                          <div class="col-md-3">To:</div>
                          <div class="col-md-9">
                              <select class="selectpicker" data-width="100%">
                                  <option>- Select -</option>
                                  <option>Nursery</option>
                                  <option>Toddlers</option>
                                  <option>Other kindergarten</option>
                              </select>
                          </div>
                      </div>
                      <div class="row margin-top-30">
                          <div class="col-md-3">Date:</div>
                          <div class="col-md-9">
                              <div class="control-group">
                                  <div class="controls">
                                      <div class="input-group">
                                          <span class="input-group-addon"><i class="ion-android-calendar"></i></span>
                                          <div class="inputer">
                                              <div class="input-wrapper">
                                                  <input type="text" style="width: 200px" name="transferDate" class="form-control bootstrap-daterangepicker-basic" value="03/18/2013" />
                                              </div>
                                          </div>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                  </div>
                  <div class="row">
                      <div class="col-md-12">
                          <div class="note note-info note-left-striped">
                              <h4>Active Transfer</h4>
                              <p>This person will transfer to Nursery on 14.05.2016</p>
                              <p>If you submit a new transfer the active one will be overwrited.</p>
                          </div><!--.note-->
                      </div><!--.col-md-12-->
                  </div><!--.row-->
              </div>
              <div class="modal-footer">
                  <button type="button" class="btn btn-flat-secondary" data-dismiss="modal">Cancel</button>
                  <button type="button" class="btn btn-flat-primary" data-dismiss="modal">Submit</button>
              </div>
          </div>
      </div>

      【讨论】:

        【解决方案5】:

        对于元素,省略 data-target,并使用 href="#modalID" 代替;

        【讨论】:

          【解决方案6】:

          就我而言,解决方案是更改按钮的属性。

          您将在 Bootstrap 网站 (https://getbootstrap.com/docs/5.1/components/modal/#static-backdrop) 的 HTML 起始模板示例中看到,模态按钮具有如下属性:

          • 数据-bs-切换
          • 数据-bs-切换

          如果属性中间包含-bs-,试试去掉:

          • 数据切换
          • 数据切换

          如果他们不包含它,请尝试包含它。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-03-14
            • 2021-09-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多