尝试从输入和复选框中获取ID,但继续获取未定义的angularjs

尝试从输入和复选框中获取ID,但继续获取未定义的angularjs,angularjs,Angularjs,我试图从一个输入框和一个复选框中获取ID,但我一直没有定义。有效负载中显示的唯一值是复选框的值 html 请求有效载荷 我的目标是能够获得要传递给angular和angular的“taskId”和“done”值,并将这些值发送给laravel的控制器,后者根据taskId更新数据库中的复选框值。但如上图所示,我只能获得“完成”值。您的代码在两次单击后工作,这会将您的值重置为false,因此请将代码更改为: <li class="ui-state-default" ng-repeat="t

我试图从一个输入框和一个复选框中获取ID,但我一直没有定义。有效负载中显示的唯一值是复选框的值

html

请求有效载荷


我的目标是能够获得要传递给angular和angular的“taskId”和“done”值,并将这些值发送给laravel的控制器,后者根据taskId更新数据库中的复选框值。但如上图所示,我只能获得“完成”值。

您的代码在两次单击后工作,这会将您的值重置为false,因此请将代码更改为:

<li class="ui-state-default" ng-repeat="todo in todos">
    <label>
        <input type="checkbox" name="done" ng-model="todo.done" ng-change="toggleChecked(todo)" />
        <span ng-class="{'done':todo.done}" ng-cloak>
            <input type="text" ng-model="todo.title" class="todoList" />
            <span class="label label-success finished">Done</span>
        </span>
    </label>
</li>
您可以直接使用
ng change
查看选中/取消选中项目。此外,如果使用
ng model
,则无需手动设置值


干杯

你能提供plunker吗??
$scope.toggleChecked = function(taskId, done) {

    $scope.done = !$scope.done;

    $scope.todo = {
      taskId: $scope.taskId,
      done: $scope.done
    };


    $http.post('/dashboard/checked', $scope.todo).success(function() {
      alert($scope.todo);
    });
};
<li class="ui-state-default" ng-repeat="todo in todos">
    <label>
        <input type="checkbox" name="done" ng-model="todo.done" ng-change="toggleChecked(todo)" />
        <span ng-class="{'done':todo.done}" ng-cloak>
            <input type="text" ng-model="todo.title" class="todoList" />
            <span class="label label-success finished">Done</span>
        </span>
    </label>
</li>
$scope.toggleChecked = function(todo) {
    $http.post('/dashboard/checked', todo).success(function() {
      alert(todo);
    });
};