2013-03-10 47 views
-1

我有一個窗體正在填充表中的信息。當我的記錄具有角色或多個角色時,它會按預期方式顯示,但是我無法添加其他角色,並且如果沒有角色,我無法將任何角色添加到記錄中。我的$ add()函數有問題。

另一個問題是密碼和確認密碼顯示相同的數據。我現在也試圖解決這個問題。

<form ng-model="current"> 
      <fieldset> 
       <legend> 
        <a href="" alt="Register" class="btn btn-mini btn-success" ng-click="newItem()"><i 
          class="icon-plus-sign icon-white"></i> New </a> 
        Detail 
       </legend> 
       <label>First Name</label> 
       <input type="text" placeholder="First Name" ng-model="current.firstName" value="current.firstName" 
         ng-disabled="isKey('lastName')"> 

       <label>Last Name</label> 
       <input type="text" placeholder="First Name" ng-model="current.lastName" value="current.lastName" 
         ng-disabled="isKey('firstName')"> 

       <label>Email</label> 
       <input type="text" placeholder="[email protected]" ng-model="current.email" value="current.email" 
         ng-disabled="isKey('email')"> 

       <label>Password</label> 
       <input type="password" placeholder="Password" ng-model="current.password" value="current.Pass" 
         ng-disabled="isKey('Pass')"> 

       <label>Confirm Password</label> 
       <input type="password" placeholder="Confirm Password" ng-model="current.password" value="current.Pass" 
         ng-disabled="isKey('Pass')"> 

       <label>Enabled</label> 
       <select ng-model="current.enabled" ng-disabled="isKey('enabled')"> 
        <option value=true>Enabled</option> 
        <option value=false>Disabled</option> 
       </select> 

       <div class="role" ng-repeat="role in current.roles"> 
        <label>User Roles</label> 
        <select ng-model="role.roleName" ng-disabled="isKey('role')"> 
         <option value="ROLE_USER">User</option> 
         <option value="ROLE_ADMIN">Administrator</option> 
        </select> 
       </div> 
       <label></label> 
       <a class="btn btn-primary" ng:click="current.role.$add()">Add Role</a> 
       <label></label> 
       <a href="#askCreateUser" alt="Register" role="button" class="btn btn-success" data-toggle="modal" 
        ng-click="setDataOperation('Update')"><i class="icon-edit icon-white"></i> Update </a> 
       <a href="#askCreateUser" alt="Register" role="button" class="btn btn-warning" data-toggle="modal" 
        ng-click="setDataOperation('Delete')"><i class="icon-trash icon-white"></i> Delete </a> 
      </fieldset> 

     </form> 
+0

您的密碼和確認密碼將顯示爲與他們使用相同的'ng-model'相同。關於你的'$ add'函數,你真的需要提供一個plnkr或者jsfiddle的例子,以便其他人可以幫助你。 – 2013-03-10 23:43:34

+0

你應該附上你的控制器代碼,以便我們可以看到這個表單連接了什麼,以及你的'current.role。$ add'函數是什麼樣的。除此之外,你沒有使用角度模型(和形式)他們應該被使用的方式。當您的輸入通過ng-model指令連接到模型時,您不應該使用value屬性。您可能想了解更多關於[Angular form directive](http://docs.angularjs.org/guide/forms)和[ng-model](http://docs.angularjs.org/api/ng.directive: ngModel)。 – Stewie 2013-03-10 23:51:19

回答

0

我發現這是由於試圖推到一個空的數組。添加下面的功能後,我可以添加沒有問題的元素。

$scope.addRole = function() { 
     if ($scope.current.roles != undefined) { 
      $scope.current.roles.push({}); 
     } 
     else { 
      $scope.current.roles = new Array(); 
      $scope.current.roles.push({}); 
     } 
    };