我有一个像这样下拉的表单:
<select id="relevance" class="form-control input-lg" ng-model="formData.relevance"></select>
我可以使用jquery填充所有这些下拉列表,将json数据映射到相应的下拉列表:
$.getJSON("url/to/the/json", function(data) {
// get values from database
var rel_val = data[0].relevance;
// set fields using jquery
$("#relevance").val(rel_val);
这一切都很好,但如果我点击表单提交按钮:
<button type="submit" id="submit_button" class="btn btn-primary btn-lg btn-block" ng-click="createTodo();">SAVE CHANGES</button>
它不会向数据库写任何内容(postgres)。我知道“createTodo()”有效,因为如果我手动更改下拉列表(由我设置,而不是jquery),表单将正确提交数据。
我的“createTodo”看起来像这样:
// Create a new todo
$scope.createTodo = function(todoID) {
$http.post('/api/v1/todos', $scope.formData)
.success(function(data) {
$scope.formData = {};
$scope.todoData = data;
console.log(data);
})
.error(function(error) {
console.log('Error: ' + error);
});
};
那么,我怎样才能使用jquery设置的值而不是手动提交表单数据?它与绑定有关吗?
我尝试将此添加到我的控制器中:
$http.get('/api/v1/todos')
.success(function(data) {
$scope.formData.relevance = data[0].relevance;
})
我的ng-model是ng-model =“formData.relevance”,我的相关性来自data [0] .relevance。