编辑表单时,Angular和Bootstrap单选按钮发生冲突

时间:2015-11-26 13:24:17

标签: angularjs

当我使用以下Html和AngularJs代码编辑用户时,我无法检查自动单选按钮。当我控制{{changeUser}}时,这将返回以下数据

{"id":1,"username":"Ramesh","password":"Ramesh1@23","role":"admin","active":"no"}。当我加载编辑表单时,我必须自动检查以下代码中的no单选按钮。

      <div class="portlet-body form">
            <!-- BEGIN FORM-->
            <form class="form-horizontal form-bordered" name="editUserForm" data-ng-submit="userEdit(changeUser)">
                <div class="form-body">
                    <div class="form-group">
                        <label class="control-label col-md-3">Username*</label>
                        <div class="col-md-4">
                            <input class="form-control" type="text" name="userName" data-ng-model="changeUser.username"  value="{{ changeUser.username }}" data-ng-pattern="/^[a-z0-9_ .-]{5,15}$/i" required  />
                            <span style="color:red" class="error" data-ng-show="editUserForm.userName.$error.pattern" >Only letters, integers, and underscores.Minimum 5 characters to maximum 15 characters.</span>
                            <span class="help-block"></span>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-md-3">Password*</label>
                        <div class="col-md-4">
                            <input class="form-control"  type="password" name="changePassword" data-ng-model="changeUser.password" value="{{  changeUser.password}}" data-ng-pattern="usersPattern.password" required />
                            <span style="color:red" class="error" data-ng-show="editUserForm.changePassword.$error.pattern">Minimum of 8 characters, 1 capital letter,1 lowercase, 1 special-case and 1 numeric.</span>
                            <span class="help-block"></span>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-md-3">Action</label>
                        <div class="col-md-4">
                            <div class="radio-list">
                                <label class="radio-inline">
                                    <input type="radio" name="optionsRadios2"  data-ng-model="changeUser.active"  value="yes"/>
                                    Yes
                                </label>
                                <label class="radio-inline">
                                    <input type="radio" name="optionsRadios2" data-ng-model="changerUser.active" value="no"/>
                                    No
                                </label>
                            </div>
                        </div>

                    </div>
                    <div class="form-actions">
                        <div class="row">
                            <div class="col-md-offset-3 col-md-9">
                                <button type="submit" class="btn purple" data-ng-disabled= "editUserForm.$invalid">
                                    <i class="fa fa-check"></i> Edit</button>
                                <button type="button" class="btn red" data-ng-click="cancelEdit()">Cancel</button>
                            </div>
                        </div>
                    </div>
                </div>

            </form>
            <!-- END FORM-->
        </div>
    </div>
</div>

控制器

   (function (){

"use strict";

function UsersEditController($scope, UserFactory, $http, $location) {
    $scope.$on('$viewContentLoaded', function () {
        App.initAjax(); // initialize core components

    });
    $scope.changeUser = {};
    $scope.changeUser =  UserFactory.get();
    $scope.userEdit =  function(data) {
      $scope.changeUser = data;
        console.log($scope.changeUser);

    };

    $scope.usersPattern = {
        password: '((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%]).{8,20})'

    };
    $scope.cancelEdit = function() {
        $location.path('users');
    };


}

UsersEditController.$inject = ['$scope', 'UserFactory', '$http', '$location'];

  angular.module('books').controller('UsersEditController', UsersEditController);

     })()

1 个答案:

答案 0 :(得分:1)

我想这是你的答案(即使没有提供js代码:))

https://stackoverflow.com/a/18446612/552194

您需要添加ng-value并使用它而不是标准value