Javascript 过滤不起作用时的ng选项
我的HTML中有一个选择,如下所示(moreCourses是我控制器的名称): 一切正常,但过滤器不工作,当用户选择一个选项时,属性“show”的值变为“false”,我已经检查过了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
谢谢。感谢@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>