当前位置: 首页 > 面试题库 >

如何使用Angular JS获取与另一个下拉值相关的第一个下拉值之类的值?

谭宏盛
2023-03-14
问题内容

如何使用angular js获得与另一个选择下拉值相关的优先选择下拉值等值?

大家好,我已经drop down fields在MyPlunker中创建了两个,并在中ng- option使用了过滤器,| filter:flterWithKp因为仅获得了kp用户。

  • 第一个下拉列表为kp users categories,第二个下拉列表为kp users
  • 我正在寻找的是,如果我们Religion & Culture在第一个下拉列表中选择,则第二个下拉列表应仅基于类别用户显示。

  • 例如:1.在第一个下拉列表中,如果我们选择as Religion & Culture,并且第二个下拉列表必须像’Francis’; 2.in在第一个下拉列表中,如果我们选择as Moral Ethics,并且第二个下拉列表必须像’jennifer david’。

  • 请检查此MyPlunker以供参考,我已找到解决方案,但它在我的门户网站中不起作用,我想要相同的答案,也请更新我的监听器,以了解确切的解决方案…

我的HTML

    <div>
  <p></p>
  <lable>Kp Users categories</lable>
   <select ng-model="Filtercategorieskp"  ng-options="item.categories for item in users | filter:flterWithKp">
  </select>
</div>

<div>
  <lable>Kp Users</lable>
   <select ng-model="Filterkp" ng-change="newClass=Filterkp.username"  ng-options="item.username for item in users | filter:flterWithKp">
  </select>
</div>

我的数据:

          $scope.users = [
    {
    "_id": "5a12ab443cb3837415229d2e",
    "displayName": "Avinaash Kumar",
    "username": "John",
    "created": "2017-11-20T10:15:32.747Z",
    "roles": ["kp"],
    "categories": ["Environment & and Health"],
    "lastName": "Kumar",
    "firstName": "Avinaash"
    },
    {
    "_id": "5a12a7343cb3837415229d2d",
    "displayName": "sarawana kumar",
    "provider": "local",
    "username": "Henry",
    "roles": ["school_student"],
    "categories": [
    "Religion & Culture",
    "Moral Ethics"
    ],
    "lastName": "kumar",
    "firstName": "sarawana"
    },
    {
    "_id": "59ed8a1fd80e55a8100d51f0",
    "displayName": "selvam mani",
    "provider": "local",
    "username": "Francis",
    "roles": ["kp"],
    "categories": ["Religion & Culture"],
    "lastName": "mani",
    "firstName": "selvam"
    },
    {
    "_id": "59ed87cdd80e55a8100d51ef",
    "displayName": "jennifer david",
    "provider": "local",
    "username": "jennifer david",
    "roles": ["kp"],
    "categories": ["Moral Ethics"],
    "lastName": "david",
    "firstName": "jennifer"
    },
    {
    "_id": "59e09811a7319ae81feed177",
    "displayName": "ahamed nizar",
    "provider": "local",
    "username": "ahamednizar",
    "created": "2017-10-13T10:40:17.142Z",
    "roles": ["kp"],
    "categories": ["Religion & Culture"],
    "lastName": "nizar",
    "firstName": "ahamed"
    },
    {
    "_id": "59df6a76b6748bc809050697",
    "displayName": "Maniselvam selvam",
    "provider": "local",
    "username": "David",
    "roles": ["admin"],
    "categories": ["Moral Ethics"],
    "lastName": "selvam",
    "firstName": "Maniselvam"
    }

$scope.flterWithKp = function(item){
  console.log(item);
  return item.roles.indexOf('kp') >= 0;
}

问题答案:
<div>
  <p></p>
  <lable>Kp Users categories</lable>
   <select ng-model="filter.Filtercategorieskp"  ng-options="item.categories for item in users | filter:{roles: 'kp'}">
  </select>
</div>  
<div>
  <lable>Kp Users</lable>
   <select ng-model="Filterkp" ng-change="newClass=Filterkp.username"  ng-options="item.username for item in users | filter:{ categories: filter.Filtercategorieskp.categories, roles:['kp']}">
  </select>
</div>

查看Plunker过滤器的HTML。它用

filter:{roles: 'kp'}

filter:{ categories: filter.Filtercategorieskp.categories, roles:['kp']

但是你用 ilter:flterWithKp

如果要使用控制器的方法进行过滤,则必须为两个过滤器编写两个方法,或者可以像plunker一样使用。

我已经更新了塞子。您可以检查一下:

工作塞



 类似资料:
  • 问题内容: 我需要使用JavaScript根据下拉菜单A中的选择更改下拉菜单B的内容。没有涉及到数据库查询- 我事先知道应该在A中选择B的内容。我已经找到了一些使用AJAX的示例,但是由于没有涉及到数据库查询,所以没有必要。谁能为我指出一些示例代码以实现此目的? 问题答案: function configureDropDownLists(ddl1, ddl2) {

  • 问题内容: 下面给出的是一段代码,表示下拉列表。我需要在此下拉列表中选择 日期 值,表示为 遵循方法无效。 1.)使用“ 选择” 通过导入 org.openqa.selenium.support.ui.Select* 选择此值 * 控制台显示: 元素应该是“选择”但是“选项” 2.)首先单击下拉菜单以显示要选择的选项,然后单击该选项。 控制台显示: DEBUG元素缺少可访问的名称:id:类型,ta

  • 根据第一个下拉列表项选择,我希望第二个下拉列表应该包含相关内容。在Java怎么能这样?例如,假设第一个下拉列表包含国家名称,第二个下拉列表包含国家名称。如果我从第一个下拉列表中选择一个特定的国家,比如“印度”,那么第二个列表应该只显示国家的相关邦,即“印度”的邦。并且这两个列表都是动态的。

  • 我有一个数组列表,它有3个字段(id、description、typeid),我将该数组列表绑定到ASP DropDownList。在绑定期间,我将description字段设置为DataTextField,并将另一个字段“Id”设置为DataValueField。 代码: 当用户从DropDownList中选择值时,我需要typeid值也需要设置为variable。 有人能告诉我,当我选择特定的

  • 问题内容: 我对此一无所知。任何帮助对此将不胜感激! 对于经理和员工,我有两个下拉菜单。 “经理”下拉列表默认包含“经理”列表。 我想通过使用用户在Managers下拉列表中选择的Manager名称查询SQL Server数据库来用雇员名称填充雇员下拉列表。 因此,例如,如果某人在“经理”下拉列表中选择“汤姆”作为经理,则“员工”下拉列表应填充“员工”名称,其中经理=汤姆。 到目前为止,我有以下代

  • 我正试图使它使field2将显示在Field1中输入的任何值。我正在使用onchange事件来完成此操作。 field1是一个输入文本框,因此如果field1=“Mary”,则field2应为“Mary”。 如果field1说“花生酱和果冻”,field2应该说“花生酱和果冻”。 如果field1为空,则field2应为空。 现在我有一个代码使field2复制field1,但是我必须给它一组预定的