Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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调用ng更改_Javascript_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

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)”发布你的代码。如果你需要帮助,我不知道你在那里搞乱了什么。