Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 过滤不起作用时的ng选项_Javascript_Angularjs_Filter_Ng Options - Fatal编程技术网

Javascript 过滤不起作用时的ng选项

Javascript 过滤不起作用时的ng选项,javascript,angularjs,filter,ng-options,Javascript,Angularjs,Filter,Ng Options,我的HTML中有一个选择,如下所示(moreCourses是我控制器的名称): 一切正常,但过滤器不工作,当用户选择一个选项时,属性“show”的值变为“false”,我已经检查过了 谢谢。感谢@Numyx,解决方案是选择的顺序,它应该是过滤器之后的跟踪方式 <select class="form-control" ng-options="course.courseId as course.courseName for course in moreCourses.coursesToshow

我的HTML中有一个选择,如下所示(moreCourses是我控制器的名称):

一切正常,但过滤器不工作,当用户选择一个选项时,属性“show”的值变为“false”,我已经检查过了


谢谢。

感谢@Numyx,解决方案是
选择的顺序,它应该是
过滤器之后的
跟踪方式

<select class="form-control" ng-options="course.courseId as course.courseName for course in moreCourses.coursesToshow | filter: {show: true} track by course.courseId" ng-model="course.newcourse" data-ng-change="moreCourses.showCourse(course)">
    <option style="display:none" value="">Choose a course</option>

选课

您需要首先应用过滤器,然后添加trackBy表达式<代码>course.courseId作为MoreCources.coursesToshow |过滤器:{show:true}按课程跟踪。courseId
。请参见:您能否将
newCourse
模型和
showCourse
method@Numyx太好了,现在开始工作了!谢谢
var coursesToshow =
        [{
            courseName: 'English for Work',
            courseId: 'en-efw',
            show: true
        },
        {
            courseName: 'Practice Courses',
            courseId: 'en-practice',
            show: true
        },
        {
            courseName: 'English for Doctors',
            courseId: 'en-efd',
            show: true
        }];
<select class="form-control" ng-options="course.courseId as course.courseName for course in moreCourses.coursesToshow | filter: {show: true} track by course.courseId" ng-model="course.newcourse" data-ng-change="moreCourses.showCourse(course)">
    <option style="display:none" value="">Choose a course</option>