Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择并关闭选项过滤器_Javascript_Angularjs_Ng Options - Fatal编程技术网

Javascript 选择并关闭选项过滤器

Javascript 选择并关闭选项过滤器,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,有人能微调我的过滤器吗?我有3个ng选项指令,每个过滤器都与以前的过滤器不同。当select元素“返回”一个整数时,我得到了这个结果,但现在我需要将它们绑定到一个对象 这是我的设置: formData.divisions = {'Open', 'Mixed'} formData.teams = [{ "id": 1, "division":"Open", "name":"Team 1" },{ "id": 2,

有人能微调我的过滤器吗?我有3个ng选项指令,每个过滤器都与以前的过滤器不同。当select元素“返回”一个整数时,我得到了这个结果,但现在我需要将它们绑定到一个对象

这是我的设置:

formData.divisions = {'Open', 'Mixed'}
formData.teams =
    [{
        "id": 1,
        "division":"Open",
        "name":"Team 1"
    },{
        "id": 2,
        "division":"Open",
        "name":"Team 2"
    },{
        "id": 3,
        "division":"Mixed",
        "name":"Team 3"
    }]

<select
    ng-model="formData.division"
    ng-options="division for division in divisions"></select>

<select
    ng-model="formData.team"
    ng-options="team as team.name for team in teams track by team.id | filter:{division:formData.division}"></select>

<select
    ng-model="formData.opponent"
    ng-options="team as team.name for team in teams | filter:formData.division | filter:{team:'!'+formData.team}"></select>
第二个和第三个select元素不太正确。我相信他们很接近

第一个选择仅列出了分区

第二个选择只想列出所选部门内的团队

第三个选择希望与第二个选择相同,但也不显示第二个选择中选定的团队


谢谢

这样就行了。第二个和第三个选择元素都由第一个元素过滤。第三个选项也会过滤掉第二个选项中选择的内容

<select
    ng-model="formData.division"
    ng-options="division for division in divisions"></select>

<select
    ng-model="formData.team"
    ng-options="team as team.name for team in teams | filter:formData.division | track by team.id"></select>

<select
    ng-model="formData.opponent"
    ng-options="team as team.name for team in teams | filter:formData.division | filter:{id:'!'+formData.team.id} track by team.id"></select>

作为旁注,可能对其他试图做类似事情的人有所帮助。我想用用户上次访问时选择的内容预先填充选项。对象被缓存。帮助我做到这一点但也有点麻烦的是“跟踪”。这篇文章有帮助

不清楚您在问什么-您在使用此代码时遇到了什么问题?有什么错误吗?代码是否与您预期的不同?您能更详细地描述当前和期望的行为吗?嗯,没有任何控制台错误;它根本无法过滤。过滤器根据我的文章的结尾,这是我希望过滤器实现的。我实际上已经取得了一些进展,稍后我会提到。典型的事情。。写出一个问题,让你思考并意识到以前没有的东西。