使用Angular

时间:2015-07-21 20:14:41

标签: javascript angularjs binding

我有一个像这样下拉的表单:

<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。

0 个答案:

没有答案