【问题标题】:When I select Edit it should display the value which is stored in my database In Angularjs当我选择编辑时,它应该显示存储在 Angularjs 中我的数据库中的值
【发布时间】:2017-09-26 15:39:28
【问题描述】:

我有权限列表

<table width="60%" border="0" align="center" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">

        <tr align="center" valign="middle">
        <td width="35" height="35"><strong>ID</strong></td>
        <td><strong>Roles</strong> </td>
        <td><strong>Action</strong></td>
        </tr>

        <tr align="center" valign="middle" ng-repeat="x in privilegename">
        <td width="35" height="35" bgcolor="#FFFFFF">{{$index+1}}</td>
        <td align="left" bgcolor="#FFFFFF" style="padding-left: 10px;">{{x.privilege_name}}</td>          
        <td width="250" bgcolor="#FFFFFF">
        <span style="padding-left:5px;">          
        <a class="common-link" href="" ng-click="edit(x)"><i class="fa fa-pencil" aria-hidden="true"></i></a>
        &nbsp;|&nbsp; 
        <a class="common-link" href="" ><i class="fa fa-trash-o text-danger" aria-hidden="true"></i></a>
        </span>
        </td>
        </tr>          
        </table>

并且管理权限的表单也应该作为编辑表单。它有一个由权限名称组成的下拉菜单,下一个是由菜单组成的清单。当用户选择列表中的编辑选项时,它应该显示存储在数据库中的值。

这是我的编辑功能控制器

 $scope.edit = function(x)
       {
        $scope.privilege = x;
        console.log($scope.privilege);
        $scope.submit = "Update";

        $scope.url = "/updateprivilege";
       } 

我的表格清单:

<tr>
                    <td  height="40" align="left" valign="middle"><span class="head-three">
                    Menus</span></td>
                    <td width="20" align="left" valign="middle">:</td>
                    <td ng-repeat="menu in menulist" class="menu_checklist">
                    <input
                    type="checkbox"
                    name="privilege_menu"
                    value="{{menu}}"
                    ng-model="privilege.privilege_menu"
                    selected
                    ng-click="toggleSelection(menu)"> {{menu}}
            </td>



            </tr>

对于下拉其工作正常。但是清单是空的。

【问题讨论】:

  • 您在$scope.privilege 中得到了什么,您能展示一下吗?...
  • 特权的完整详细信息 - _id,privilege selected menu []。现在我使用了 ng-checked="selectedMenu.indexOf(menu) > -1" 并显示了选定员工的选定菜单。现在问题是 ng-click 当我尝试编辑它时检查所有值

标签: angularjs checkbox


【解决方案1】:

在复选框中使用 ng-checked

<input type="checkbox" name="privilege_menu" value="{{menu}}" 
ng-model="privilege.privilege_menu" ng-checked={{isSelected(menu) > -1}} 
ng-click="toggleSelection(menu)">{{menu}}

控制器

$scope.selectedACArr = [];
$scope.isSelected = function(menuObj) {
    return $scope.selectedACArr.map(function(e) {
    return e._id;
    }).indexOf(menuObj._id);
};

【讨论】:

  • 谢谢..它工作得很好但是当我尝试编辑它时检查了所有的值
  • 问题已修复我使用过 ng-model 和 ng-checked 。实际上 ng-checked 不应该与 ngModel 一起使用,因为这会导致意外的行为。非常感谢你......
猜你喜欢
  • 1970-01-01
  • 2018-12-01
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 2016-05-20
相关资源
最近更新 更多