【发布时间】:2017-04-17 16:07:53
【问题描述】:
所以我有一个简单的待办事项列表,当我点击一个 li 项目时,我通过 ajax 调用将我的数据库中的字段 completed 更新为 1 或 0。
显然,我认为代码不好,而且它当然不起作用。只有第一次,当我单击 li 时,它确实会更新,但如果我希望它再次工作,我需要刷新,因为 data-completed 没有更新。我需要 jquery 来做到这一点,但我不知道如何根据原始值将数据属性更新为 1 或 0。
任何关于如何使其正常工作的指针将不胜感激。
查看:
<li data-id='{!! $task->id !!}' data-completed='@if($task->completed == '1') 0 @else 1 @endif'>
AJAX 调用:
$('li').on('click', function(e){
$.ajax({
url: 'api/tasks/update/'+$(this).data('id')+'/'+$(this).data('completed'),
method: 'GET'
})
});
由于我使用的是 laravel,所以这是我的路线:
Route::get('api/tasks/update/{id}/{completed}', function($id, $completed) {
$task = App\Task::find($id);
$task->completed = $completed;
$task->save();
});
【问题讨论】: