Javascript 未对动态选择的ng调用ng更改
我正在从Javascript 未对动态选择的ng调用ng更改,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我正在从select中动态选择一个项目。已正确选择项目,但未更新型号。此外,在这种情况下,ng change不会被调用 代码: <select id="course" name="course" ng-model="courseId" ng-change="getBatch(courseId)"> <option ng-repeat="course in courses" value="{{course.c
select
中动态选择一个项目。已正确选择项目,但未更新型号
。此外,在这种情况下,ng change
不会被调用
代码:
<select id="course" name="course"
ng-model="courseId"
ng-change="getBatch(courseId)">
<option
ng-repeat="course in courses"
value="{{course.course_id}}"
ng-selected="course.course_name ==
'<?php echo ($editMode)? $student_data->course_name : ""?>'">
{{course.course_name}}
</option>
</select>
setInterval(function(){
$scope.$apply();
}, 2000);
我检查了许多链接,但没有得到答案。这里是我尝试的内容。
我已经删除了PHP部分,因为它没有在我的机器上配置
它工作得很好
HTML
<select id="course" name="course"
ng-model="courseId"
ng-change="getBatch(courseId)">
<option
ng-repeat="course in courses"
value="{{course.course_id}}">
{{course.course_name}}
</option>
</select>
这是我试过的。
我已经删除了PHP部分,因为它没有在我的机器上配置
它工作得很好
HTML
<select id="course" name="course"
ng-model="courseId"
ng-change="getBatch(courseId)">
<option
ng-repeat="course in courses"
value="{{course.course_id}}">
{{course.course_name}}
</option>
</select>
您应该能够像这样使用
ngOptions
:
<select id="course" name="course"
<?php echo $editMode ? 'ng-init="courseId = ' . $student_data->course_id . '"' : '' ?>
ng-model="courseId"
ng-change="getBatch(courseId)"
ng-options="course.course_id as course.course_name for course in courses">
</select>
ng model=“courseId”
ng change=“getBatch(courseId)”
ng options=“course.course\u id作为course.course\u课程中课程的名称”>
然后模型应该正确绑定,前提是PHP
$student
对象也有属性课程id
您应该能够像这样使用ngOptions
:
<select id="course" name="course"
<?php echo $editMode ? 'ng-init="courseId = ' . $student_data->course_id . '"' : '' ?>
ng-model="courseId"
ng-change="getBatch(courseId)"
ng-options="course.course_id as course.course_name for course in courses">
</select>
ng model=“courseId”
ng change=“getBatch(courseId)”
ng options=“course.course\u id作为course.course\u课程中课程的名称”>
然后模型应该正确绑定,前提是PHP
$student
对象也有属性course\u id
只需添加一个函数
,其中包含要在ng init
中执行的代码
<select id="course" name="course"
ng-model="courseId"
<?php echo $editMode ? 'ng-init="initCourseSelect(' . $student_data->course_id . ')"' : ''?>
ng-change="getBatch(courseId)">
<option
ng-repeat="course in courses"
value="{{course.course_id}}">
{{course.course_name}}
</option>
</select>
只需添加一个
函数
,其中包含要在nginit
中执行的代码
<select id="course" name="course"
ng-model="courseId"
<?php echo $editMode ? 'ng-init="initCourseSelect(' . $student_data->course_id . ')"' : ''?>
ng-change="getBatch(courseId)">
<option
ng-repeat="course in courses"
value="{{course.course_id}}">
{{course.course_name}}
</option>
</select>
您是否尝试过使用
ng options
?我检查了语法,但没有正确理解。另外,我也不知道如何用ng options
替换我的代码。有一个问题-为什么需要将AngularJS与PHP集成?你检查过你的php部分在选择选项中没有破坏html吗?实际上我正在更新旧代码。我正在一步一步地做。现在没有任何东西会破坏代码。您是否尝试过使用ng options
?我检查了语法,但没有正确理解它。另外,我也不知道如何用ng options
替换我的代码。有一个问题-为什么需要将AngularJS与PHP集成?你检查过你的php部分在选择选项中没有破坏html吗?实际上我正在更新旧代码。我正在一步一步地做。现在没有任何东西在破坏代码。这个代码和我的一样。您是否检查了ng selected
part?很抱歉,我的机器上没有配置php。因此,无法检查编辑是否正常。我会尝试ng selected=“course.course\u name==“course3”
此代码与我的代码相同。您是否检查了ng selected
part?很抱歉,我的机器上没有配置php。因此,无法检查编辑是否正常。我会尝试ng selected=“course.course\u name==“course3”
你让我离得太近了。你能再告诉我一件事吗?值正在呈现为字符串。如何使它们成为整数?现在它显示为Sixth
,这是因为在模型中,课程id是字符串。所以你有一个像[{course\u name:“One”,course\u id:“1”}]
这样的对象数组。我使用循环控制器将其转换为int。现在代码可以工作了,但它没有调用ng change=“getBatch(courseId)”发布你的代码。如果你请求帮助,我不知道你在那里搞乱了什么。你让我太接近了。你能再告诉我一件事吗?值正在呈现为字符串。如何使它们成为整数?现在它显示为Sixth
,这是因为在模型中,课程id是字符串。所以你有一个像[{course\u name:“One”,course\u id:“1”}]
这样的对象数组。我使用循环控制器将其转换为int。现在代码可以工作了,但它没有调用ng change=“getBatch(courseId)”发布你的代码。如果你需要帮助,我不知道你在那里搞乱了什么。