【问题标题】:Creating a modal within Bootstrap and Angular在 Bootstrap 和 Angular 中创建模式
【发布时间】:2017-11-24 17:52:23
【问题描述】:

我正在使用 bootstrap 和 angular 开发一个网络应用程序。我有一个按钮,我想显示一个模式,其中包含来自另一个 html 页面(employee.function.add.html)的数据。所有文件都在根员工文件夹下

这是employee.function.add.html中的模态内容

    <div class="modal fade" id="addModal" role="dialog">
          <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal">X</button>
                  <h1>Lab 6</h1>
                </div>
                <div class="modal-body">
                  <div class="panel panel-default">
                    <div class="panel-heading text-center">
                      Employee Information
                    </div>
                    <div class="panel-body">
                      <div class="row">
                        <div class="text-right col-xs-2">Title:</div>
                        <div class="text-left col-xs-3" id="title"></div>
                        <div class="text-right col-xs-2">First:</div>
                        <div class="text-left col-xs-3" id="firstname"></div>
                      </div>
                      <div class="row">
                        <div class="text-right col-xs-2">Phone#</div>
                        <div class="text-left col-xs-3" id="phone"></div>
                        <div class="text-right col-xs-2">Email</div>
                        <div class="text-left col-xs-3" id="email"></div>
                      </div>
                      <div class="row">
                        <div class="text-right col-xs-2">Dept:</div>
                        <div class="text-left col-xs-3" id="departmentname"></div>
                        <div class="text-left col-xs-2">Surname:</div>
                        <div class="text-left col-xs-4">
                          <input type="text" placeholder="enter last name" id="TextBoxLastName" class="form-control" />
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="modal-footer">
                    <div class="panel-footer">
                      <input type="button" value="Find Employee" id="empbutton" />
                      <div class="col-xs-10" id="lblstatus"></div>
                    </div>
                  </div>
                </div>
            </div>
        </div>
    </div>

按钮在employee.function.html中创建

<div class="animated fadeIn">
  <div class="row">
    <!--<div class="col-md-6">-->
    <div class="col-md-12">
      <div class="card">
        <div>
            <div class="panel panel-default">
              <div class="panel-heading" style="background-color:#e0e9f5">
                <h2 class="panel-title">Employee Functions</h2>
              </div> 
              <br />
                <div class="col-sm-12">
                <div align="right" style="padding-bottom:10px">
                    <!--<button type="button" class="btn btn-info btn-default btn-lg" href="employee.function.add.html" data-toggle="modal" data-target="#addModal">Add Function</button>-->
                    <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
                </div>              
                </div>      
              <div class="panel-body">
                <jqxGrid 
                  [width]="'100%'" [theme]='"energyblue"' [source]='functionAdapter' [pageable]='true' [height]='500' [altrows]='true'
                  [editable]='true' [columns]='columns'>
               </jqxGrid>
              </div>

            </div>         
        </div>  
      </div>

    </div>
    <!--/.col-->
  </div>
  <!--/.row-->
</div>

我在控制台中不断收到此错误。

Uncaught Error: Bootstrap's Javascript requires Jquery

在 index.html 文件中,我已经声明了引导程序所需的所有样式和链接。

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

我怎样才能让模式工作? 并希望澄清一些事情。我正在为项目使用引导程序和角度。在员工文件夹和其他文件夹中是 html 文件和 ts 文件。我是否收到此错误是因为我应该使用 Angular 编写模态?而不是引导程序?我以为我会使用引导程序制作模态,但出现了该错误。一些澄清会有所帮助。谢谢你的帮助。

【问题讨论】:

  • 哪个版本的角度?
  • 它说它需要 jQuery,但你没有告诉我们你实际包含 jQuery 的位置,所以我猜你缺少 jQuery。

标签: javascript html angular bootstrap-4


【解决方案1】:

好像您忘记将 jQuery 添加到您的项目中。 Bootstrap 需要 jQuery 才能工作。在包含 bootstrap.min.js 之前将此行添加到您的代码中

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

希望对您有所帮助! :)

【讨论】:

  • 这样做会导致错误消失,但模式不会出现。
  • 您已将数据目标设置为 myModal 但模态上的 id 为 addModal...。它们需要匹配才能找到目标
  • 狄龙就在这里。按钮的data-target属性值应该与模态ID的值相同。
  • 我对数据目标进行了更改,但模式仍然没有出现。控制台中没有错误。
  • 如果这是两个单独的 html 页面,它们需要同时呈现。对于 JQuery 版本,该模式必须在页面上可用。
【解决方案2】:

Bootstrap 需要 Jquery 才能使其小部件工作。如果你想要 angular 版本,我会在这里查看 angular ui bootstrap:Angular UI Bootstrap

【讨论】:

  • 我目前正在使用 jqwidgets,专门使用 jqxgrid。所以我正在使用 Angular Grid 组件。我以为我会使用引导程序创建模态,但我想这不是正确的方法吗?
  • 如果您选择这样做,那很好,您需要将 jquery 引用添加到您的 html。但是要利用 angularjs 范围、控制器、数据绑定等......我建议使用 anuglar UI 模态。如果你要做的不仅仅是几个,我肯定会推荐学习它们,因为它们在使用 angularjs 时更容易使用和操作数据
  • 感谢您的反馈。我会仔细看看的。我的困惑来自项目包含 ts 文件而不是 js 的事实。我是新手,还在学习,所以学习如何一起使用多个框架是我需要习惯的。
  • 查看您的代码我看到您使用的是 angular,而不是 angularJS。他们也有这方面的库,例如 ng-bootstrap。
  • ts(打字稿)文件是 js 的超集。它们在运行时或运行前被转译成 js。 Jquery 只是引导程序运行其组件所需的外部库。它是用 js 编写的,因此不需要转译。但是引导小部件仍然需要任何一种方式才能工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
相关资源
最近更新 更多