单击任务时如何在任务下划线并将其保存到数据库
How to underline task when click on it and it should be saved to database
我正在做待办事项 webapplication.Suppose 当用户双击他的任务时,它应该被标记为已完成并且应该保存到数据库中
尝试过但没有成功,并且没有保存在数据库中
<script>
// Add a "checked" symbol when clicking on a list item
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
if (ev.target.tagName === 'li') {
ev.target.classList.toggle('checked');
}
}, false);
</script>
<div class = "card-body text-center">
<h4 class = 'card-text'>Today</h4><hr><br>
@foreach($task as $tasks)
@if($tasks->remind=='today')
<ul class = "list-group">
<form action = {{ route('task.destroy',$tasks->id) }} method="post">
@csrf
@method('DELETE')
<li class = "list-group-item ">{{ $tasks->task }}<span><button><i class="fa fa-close" style="font-size:12px;color:red"></i></button></span></li>
</form>
</ul>
@endif
@endforeach
</div>
当用户双击他的任务时,它应该带有下划线以表示已完成并且它也应该保存到数据库中
你可以试试这个:
https://codepen.io/Khadembd/pen/xxKPoBV
$(document).ready(function(){
$(".done").click(function(){
var value = $(this).next("span").html();
savetodolist(value);
})
})
function savetodolist(val){
$.ajax({
type:"POST",
url:"todolistsave.php",
data:{item:val},
success:function(data){
console.log(data);
}
})
}
body{
font-family:arial;
}
.todolist, .todolist li{
list-style-type:none;
}
.todolist{
padding-left:0;
}
.todolist li{
position:relative;
margin-bottom:15px;
padding-left:30px;
line-height: 24px;
position:relative;
}
.todolist li [type=checkbox]{
position:absolute;
top:0;
left:0;
width:20px;
height:20px;
opacity:0;
z-index:200;
cursor:pointer;
}
.todolist li span:before{
position:absolute;
content:"";
width:20px;
height:20px;
border:1px solid rgb(24, 78, 163);
border-radius:50%;
top:0;
left:0;
transition:all 0.5s ease;
}
.todolist li span:after{
position:absolute;
content:"";
width:5px;
height:10px;
border-right:1px solid rgb(255, 255, 255);
border-bottom:1px solid rgb(255, 255, 255);
top:4px;
left:7px;
transform:rotate(45deg);
opacity:0;
visibility:hidden;
transition:all 0.5s ease;
}
.todolist li [type=checkbox]:checked + span{
text-decoration:line-through;
}
.todolist li [type=checkbox]:checked + span:before{
background-color:rgb(24, 78, 163);
}
.todolist li [type=checkbox]:checked + span:after{
opacity:1;
visibility:visible;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="todolist">
<li>
<input class="done" type="checkbox">
<span>Buy Oranges</span>
</li>
<li>
<input class="done" type="checkbox">
<span>Attend Skype Meeting</span>
</li>
<li>
<input class="done" type="checkbox">
<span>Meetup with Sabriya</span>
</li>
<li>
<input class="done" type="checkbox">
<span>Deliver gift to Dad</span>
</li>
</ul>
第一步,你需要解释一下你的意思。
- 显示用户的列表任务
- 捕捉事件用户点击进入任务
- 将 id 任务推送到服务器并更新此任务的状态
下一步:
你需要捕捉点击事件
你的代码 HTML:
<a href="#" class="click_to_task" data-task-id="1">Task 1</a>
<a href="#" class="click_to_task" data-task-id="2">Task 2</a>
<a href="#" class="click_to_task" data-task-id="3">Task 3</a>
<a href="#" class="click_to_task" data-task-id="4">Task 4</a>
你的JS代码:
<script type="text/javascript">
$(document).ready(function() {
$('.click_to_task').click(function () {
let task_id = $(this).attr('data-task-id')
})
})
</script>
现在:你有 task_id。你会把这个推送到服务器并更新这个任务状态
使用 ajax
let url = '{{ route('update-status-task') }}'
$.ajax({
type:"POST",
url:"save.php",
data:{task_id: task_id},
success:function(data){
// you process
}
})
好的。现在在服务器上你只需将 tast 的状态更新为 Done
:D
我正在做待办事项 webapplication.Suppose 当用户双击他的任务时,它应该被标记为已完成并且应该保存到数据库中
尝试过但没有成功,并且没有保存在数据库中
<script>
// Add a "checked" symbol when clicking on a list item
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
if (ev.target.tagName === 'li') {
ev.target.classList.toggle('checked');
}
}, false);
</script>
<div class = "card-body text-center">
<h4 class = 'card-text'>Today</h4><hr><br>
@foreach($task as $tasks)
@if($tasks->remind=='today')
<ul class = "list-group">
<form action = {{ route('task.destroy',$tasks->id) }} method="post">
@csrf
@method('DELETE')
<li class = "list-group-item ">{{ $tasks->task }}<span><button><i class="fa fa-close" style="font-size:12px;color:red"></i></button></span></li>
</form>
</ul>
@endif
@endforeach
</div>
当用户双击他的任务时,它应该带有下划线以表示已完成并且它也应该保存到数据库中
你可以试试这个:
https://codepen.io/Khadembd/pen/xxKPoBV
$(document).ready(function(){
$(".done").click(function(){
var value = $(this).next("span").html();
savetodolist(value);
})
})
function savetodolist(val){
$.ajax({
type:"POST",
url:"todolistsave.php",
data:{item:val},
success:function(data){
console.log(data);
}
})
}
body{
font-family:arial;
}
.todolist, .todolist li{
list-style-type:none;
}
.todolist{
padding-left:0;
}
.todolist li{
position:relative;
margin-bottom:15px;
padding-left:30px;
line-height: 24px;
position:relative;
}
.todolist li [type=checkbox]{
position:absolute;
top:0;
left:0;
width:20px;
height:20px;
opacity:0;
z-index:200;
cursor:pointer;
}
.todolist li span:before{
position:absolute;
content:"";
width:20px;
height:20px;
border:1px solid rgb(24, 78, 163);
border-radius:50%;
top:0;
left:0;
transition:all 0.5s ease;
}
.todolist li span:after{
position:absolute;
content:"";
width:5px;
height:10px;
border-right:1px solid rgb(255, 255, 255);
border-bottom:1px solid rgb(255, 255, 255);
top:4px;
left:7px;
transform:rotate(45deg);
opacity:0;
visibility:hidden;
transition:all 0.5s ease;
}
.todolist li [type=checkbox]:checked + span{
text-decoration:line-through;
}
.todolist li [type=checkbox]:checked + span:before{
background-color:rgb(24, 78, 163);
}
.todolist li [type=checkbox]:checked + span:after{
opacity:1;
visibility:visible;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="todolist">
<li>
<input class="done" type="checkbox">
<span>Buy Oranges</span>
</li>
<li>
<input class="done" type="checkbox">
<span>Attend Skype Meeting</span>
</li>
<li>
<input class="done" type="checkbox">
<span>Meetup with Sabriya</span>
</li>
<li>
<input class="done" type="checkbox">
<span>Deliver gift to Dad</span>
</li>
</ul>
第一步,你需要解释一下你的意思。
- 显示用户的列表任务
- 捕捉事件用户点击进入任务
- 将 id 任务推送到服务器并更新此任务的状态
下一步: 你需要捕捉点击事件 你的代码 HTML:
<a href="#" class="click_to_task" data-task-id="1">Task 1</a>
<a href="#" class="click_to_task" data-task-id="2">Task 2</a>
<a href="#" class="click_to_task" data-task-id="3">Task 3</a>
<a href="#" class="click_to_task" data-task-id="4">Task 4</a>
你的JS代码:
<script type="text/javascript">
$(document).ready(function() {
$('.click_to_task').click(function () {
let task_id = $(this).attr('data-task-id')
})
})
</script>
现在:你有 task_id。你会把这个推送到服务器并更新这个任务状态 使用 ajax
let url = '{{ route('update-status-task') }}'
$.ajax({
type:"POST",
url:"save.php",
data:{task_id: task_id},
success:function(data){
// you process
}
})
好的。现在在服务器上你只需将 tast 的状态更新为 Done :D