这篇文章是我在练习写todo-list,代办事项的作业时,在後端部分的小笔记。其中提到了jquery “each” function的使用技巧、foreach的使用技巧、php融合html写法技巧,希望对大家能有所帮助。

<?php foreach ($todos as $key=>$todo): ?> <li data-id="<?= $todo['id']?>" > <div class="checkbox"></div> <div class="content"><?=$todo ?></div> <div class="actions"></div> <div class="delete">x</div> </li> <?php endforeach ?>

这一段的foreach必须有开头与结尾,否则无法运行。
$key=>$todo这个array,$key不是id、content,而是程式自己给一个array的顺序,0,1,2,3,这也不重要,因为没有实质意义。有意义的值都在$todo里面。

这边要提这个写法:

<?php foreach ($todos as $key=>$todo): ?> <li>.......</li> <?php endforeach ?>

这个等於

<?php foreach ($var as $key => $value){echo "<li>...</li>";}?>

然而後者的写法太拗口,要一直用引号,所以前者的写法就衍伸出来了。可以像一般写HTML的时候写,而不用一直加引号。

.each的用法

var todoListUI= ”;
$.each(todos, function(index, todo){
todoListUI =todoListUI + todoTemplate(todo);

});

这边的function後的(index,todo)意思是将资料化成array的格式如$key=>$value:

0: {id: 41, content: “要开始来写update罗”, is_complete: 0, order: 1}

1: {id: 46, content: “ss”, is_complete: 0, order: 1}

,所以有意义的值还是todo,然後将todo塞回去template。

deleteID那边可以自己命名,没有一定。反正就是会印成这样:

对了,这边一定要印json档案回去。因为前面已经在ajax指定要json,如果回传一个字串echo ‘hello’,他会觉得你没有执行好,就便会function。所以连这样的json都可以:

至於这个地方的li为何不能用id: $(‘li’).data(‘id’)  可以想成我们平常要玩鬼抓人,一开始在讲规则的时候说:「鬼可以抓人」这时候的只是一个泛称,而在游戏开始进行时,裁判宣布:「每一只『鬼』暂停动作」,这时候就是指现场的每一只鬼,是会直接对到当鬼的人。但是当刚开始讲规则的时候,角色都还没分配,不知道谁是当鬼谁是当人,这时候如果你说:「当鬼的人看过来我这」,一定不会有人理你,因为角色就还没分配美。所以我们在这边的li不能用(‘li’),要用(li)。

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x