【问题标题】:Dismiss modal view issues消除模态视图问题
【发布时间】:2017-12-22 10:35:20
【问题描述】:

我想创建一个带有禁用/启用按钮的按钮操作,然后关闭模型视图: // 按钮: type="submit" class="btn btn-primary" data-dismiss="modal" ng-disabled="!newSong.name" ng-click="saveSong()" >Create --> 问题:当 ng-click 完成时 --> 视图模式没有关闭

【问题讨论】:

  • 请贴代码:)
  • 我想创建 1 个按钮,如下所示: 动作:没有关闭视图模式
  • 请提供问题中的代码,以您的代码目前的进度,我无法从头开始编写整个代码:)
  • 谢谢!这是我的示例代码:codepen.io/FanLink/pen/zpKaoW?editors=1010

标签: html angularjs bootstrap-grid


【解决方案1】:

你的代码不工作的原因是因为$scope.newSong = {};
在这段代码中:

$scope.saveSong = function () {
        $scope.songs.push($scope.newSong);
        $scope.newSong = {};
    };

每当您尝试提交表单时,$scope.newSong = {} 都会使其无效。

HTML 代码

<div ng-app="myApp", ng-controller ="myController">
<div ng-repeat="id in songs">
      <ul>
        <li> Name song: {{id.name}} </li>
        <li> Name artist: {{id.artist}} </li>
      </ul>
  </div>
  <div class="col-lg-1">  <button type="button" class="btn btn-info glyphicon glyphicon-plus" data-toggle="modal" data-target="#myModal" ng-click="clear()">   Add New </button> </div>
  <div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title"> Create New Song</h4>
        </div> 
        <div class="modal-body">
          <form class="form-horizontal" role ="form" name="formName" novalidate>

            <div class="form-group" >
              <label class="control-label col-sm-2"> Name* </label>
              <div class="col-sm-10">
                <input type="text" class="form-control" name="name" ng-model="newSong.name" required/>
                <div class="custom-error" ng-show="formName.name.$dirty && formName.name.$invalid">
                  <p ng-show="formName.name.$invalid && !formName.name.$pristine" class="help-block"> name is required.</p>
                </div>
              </div>
            </div>

            <div class="form-group">
              <label class="control-label col-sm-2">Artist</label>
              <div class="col-sm-10">
                <input type="text" class="form-control"ng-model="newSong.artist">
              </div>
            </div>
          </form>
        </div>
        <div class="modal-footer">
          <button type="submit" class="btn btn-primary"  data-dismiss="modal" ng-disabled="!newSong.name" ng-click="saveSong()" >Create</button>
          <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
        </div>
      </div>
    </div>
  </div>
</div>
<br/><br/>

角度代码

var myApp = angular.module('myApp',[]);
myApp.controller('myController', function($scope){
  $scope.songs = [
  {
    "name": "Everybody",
    "artist": "Backstreet Boys.",
    "id": 1
  },
  {
    "name": "Feel Like Makin' Love",
    "artist": "Bad Company.",
    "id": 2
  },
  {
    "name": "Sister of Pearl",
    "artist": "Baio.",
    "id": 3
  }];
     $scope.newSong = {};

    /* callback ng-click create */
    $scope.saveSong = function () {
        $scope.songs.push($scope.newSong);
       // $scope.newSong = {};
    };
  $scope.clear = function(){

  $scope.newSong = {};
    $scope.$setPristine(true);
  }
});



WORKING LINK

希望有效:)

【讨论】:

  • 非常感谢 mayank bisht!有用 :)。感谢您的考虑。
  • 但是还有一个问题:当你再次点击按钮 Add new 时,之前输入的值没有清除。
  • 检查此链接https://codepen.io/anon/pen/opzmem?editors=1010,IT 将清除旧输入
  • 感谢您的帮助,我昨晚看到了我的错误,再见:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-05
  • 1970-01-01
相关资源
最近更新 更多