javascript - script - El modelo ng ya no se actualiza después de escribir en la entrada de texto
que se puede hacer con javascript (1)
Soy nuevo en AngularJS y tengo un problema que tengo problemas para resolver, hubo una pregunta similar sobre stackoverflow pero no pareció ayudarme. Básicamente tengo un formulario que se actualiza con ng-click, pero una vez que ingrese texto en cualquiera de los cuadros de texto, esos cuadros de texto ya no se actualizan.
Este es mi HTML
Edit Course:
<li ng-repeat="course in courses">
<p>
<a ng-click="Edit_Course(course.id)">{{course.course_name}}</a>
</p>
</li>
<div ng-show="showedit == 1">
<form novalidate ng-submit="edit_course()" class="simple-form">
<label for="form_course_name">Course</label>
<input type="text" id="form_course_name" ng-model="edit_course_name">
<label for="form_par">Par</label>
<input type="text" id="form_par" ng-model="edit_course_par">
<label for="form_course_location">Course Location</label>
<input type="text" id="form_course_location" ng-model="edit_course_location">
<input type="submit" id="submit" value="Edit Course" />
</form>
</div>
Esta es mi función que se llama cuando alguien hace clic en un enlace
$scope.Edit_Course = function (id) {
var course = {
''course_id'' : id
};
$http({method: "POST", url: "http://www.dgcharts.com/editcourse", data: course})
.success(function(data, status, headers, config){
thecourse = data["course"];
$scope.edit_course_name = thecourse.course_name;
$scope.edit_course_par = thecourse.par;
$scope.edit_course_location = thecourse.course_location;
$scope.edit_course_id = thecourse.id;
$scope.showedit = 1;
})
}
su enlace requiere un inicio de sesión.
Si tengo que adivinar acerca de su problema, puede estar relacionado con un problema de alcance angular. intente cambiar su enlace ng-model a una propiedad de objeto en su lugar. así que en tu html, en lugar de:
<input type="text" id="form_course_name" ng-model="edit_course_name">
hacer esto
<input type="text" id="form_course_name" ng-model="course.edit_course_name">
y en su javascript, en la devolución de llamada ajax, cámbielo a:
$scope.course = {}; //only do this if $scope.course has not already been declared
$scope.course.edit_course_name = thecourse.course_name;
Para obtener más información sobre este tema, consulte: https://github.com/angular/angular.js/wiki/Understanding-Scopes