【问题标题】:Angular and Bootstrap radio buttons conflict When Editing Form编辑表单时 Angular 和 Bootstrap 单选按钮冲突
【发布时间】:2016-02-29 14:56:41
【问题描述】:

当我使用以下 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);

     })()

【问题讨论】:

  • 同时添加 JS 代码

标签: angularjs


【解决方案1】:

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

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

您需要添加ng-value 并使用它来代替标准的value

【讨论】:

  • 我更改为 ng-value,但仍然没有选中单选按钮,但是当我执行控制台时返回正确的值。
  • 我认为你需要ng-valueng-model
  • 在上面的代码中,我有 ng-model 和 ng-value 但没有显示选中按钮。
  • 不,在上面的代码中你只有ng-model --- &lt;label class="radio-inline"&gt; &lt;input type="radio" name="optionsRadios2" data-ng-model="changerUser.active" value="no"/&gt; No &lt;/label&gt;
  • 我在一段时间后添加并尝试这个&lt;label class="radio-inline"&gt; &lt;input type="radio" name="optionsRadios2" data-ng-model="changeUser.active" data-ng-value="yes"/&gt; Yes &lt;/label&gt;但这次也没有工作@David
猜你喜欢
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
  • 2013-07-29
  • 2015-07-14
  • 2021-04-18
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多