我正在动态选择select
中的项目。正在正确选择项目,但model
未获得更新。此外,在这种情况下,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);
我查了很多链接,但我没有得到答案。
答案 0 :(得分:0)
这是我尝试过的。 我删除了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>
JS
根据您的HTML创建示例课程数组。
$scope.courses = [{course_id :112,course_name:'course1'},
{course_id :15,course_name:'course2' },
{course_id :11,course_name:'course3' },
{course_id :14,course_name:'course4' }
];
$scope.getBatch = function(courseId){
console.log(courseId);
}
答案 1 :(得分:0)
你应该可以像这样使用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>
然后模型应该正确绑定,前提是PHP $student
对象也具有属性course_id
。
答案 2 :(得分:0)
只需在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>
代码。
$scope.initCourseSelect = function (courseId) {
console.log("course id ", courseId);
// set model to be selected on view
$scope.courseId = courseId;
}
控制器:
void byte_swapping(uint32_t* dest, const uint32_t* src, size_t count)
{
size_t i;
for (i = 0; i + 4 <= count; i += 4)
{
__m128i s = _mm_loadu_si128((__m128i*)&src[i]);
__m128i d = _mm_or_si128(_mm_slli_epi32(s, 16), _mm_srli_epi32(s, 16));
_mm_storeu_si128((__m128i*)&dest[i], d);
}
for ( ; i < count; ++i) // handle residual elements
{
uint32_t w = src[i];
w = (w >> 16) | (w << 16);
dest[i] = w;
}
}