ToDoList使用jq编写
<input type="text" class="sendBtn">
<h2>未完成</h2>
<ul class="list1">
<!-- <li>
<input type="checkbox" name="" id="" value="" />
<span id="">
吃饭
</span>
<button type="button">删除</button>
</li> -->
</ul>
<h2>已完成</h2>
<ul class="list2">
<!-- <li>
<input type="checkbox" name="" id="" value="" checked="checked"/>
<span id="">
睡觉
</span>
<button type="button">删除</button>
</li> -->
</ul>
let sendBtn = $('.sendBtn');
let arr = [
{
name: '看电视',
status: false
},
{
name: '玩游戏',
status: true
},
];
render()
sendBtn.change(function(){
let name = sendBtn.val();
let obj = {
name: name,
status: false
};
arr.push(obj);
render()
})
function render() {
let list1 = $('.list1')
let list2 = $('.list2')
let list1Html = '';
let list2Html = '';
for (let i = 0; i < arr.length; i++) {
let obj = arr[i];
if (obj.status == false) {
list1Html +=
`
<li>
<input type="checkbox" name="" id="" value="" data-name="${obj.name}"/>
<span id="">
${obj.name}
</span>
<button type="button" class="dBtn" data-name="${obj.name}">删除</button>
</li>
`
} else {
list2Html +=
`
<li>
<input type="checkbox" name="" id="" value="" checked="checked" data-name="${obj.name}"/>
<span id="">
${obj.name}
</span>
<button type="button" class="dBtn" data-name="${obj.name}">删除</button>
</li>
`
}
}
list1.html(list1Html)
list2.html(list2Html)
$('.dBtn').click(function(){
console.log(11)
let name = $(this).attr('data-name');
arr = arr.filter(v=>v.name !== name)
render()
})
$('input[type=checkbox]').change(function(){
let name = $(this).attr('data-name')
let obj = arr.find(v=>v.name === name);
console.log(obj)
obj.status = this.checked;
render()
})
}
- 如果你想了解该文章代码的实现过程,请翻看我的另一篇todolist文章,上面有代码思路。