提问人:Head Geek 提问时间:10/6/2008 更新时间:10/8/2008 访问量:1464
重置 TiddlyWiki/CheckboxPlugin 清单中的所有项目
Resetting all items in a TiddlyWiki/CheckboxPlugin checklist
问:
我使用 CheckboxPlugin 在 TiddlyWiki 中为自己编写了一份每周回顾 GTD 清单。每周完成它后,我想单击一个链接来取消选中(重置)它上的所有项目,以便下次使用。
我将支票信息作为标签存储在单独的 tiddler 页面上。我应该能够擦除该页面上的所有标签并刷新清单页面,但我还没有弄清楚如何做到这一点。
我通常使用C,C++和Lisp工作,我只是在学习Javascript。任何人都可以提供一些有用的建议吗?
(在有人提出建议之前,我已经在同一网站上查看了 ChecklistScript。它不使用 CheckboxPlugin 的东西,并且与它不兼容。
答:
1赞
ELS
10/7/2008
#1
试试这个(改编自 ChecklistScript 的“resetall”代码):
<html><form style="display:inline">
<input type="button" value="clear all" onclick="
var tid='SomeTiddler';
var list='tag1 [[tag 2]] tag3 tag4';
var tags=list.readBracketedList();
store.suspendNotifications();
for (var t=0; t<tags.length; t++)
store.setTiddlerTag(tid,false,tags[t]);
store.resumeNotifications();
story.refreshTiddler(tid,null,true);
"></form></html>
0赞
Head Geek
10/8/2008
#2
花了一段时间,但我想通了(感谢 ELS 的灵感回答):
<script label="(Reset All)" title="Reset all items" key="X">
var tid='WeeklyReviewStepsChecklistItems';
store.getTiddler(tid).tags=[];
story.refreshTiddler(tid,null,true);
story.refreshTiddler('Weekly Review Steps',null,true);
</script>
这之所以有效,是因为我将标签存储在单独的 tiddler 中,并使用 InlineJavascriptPlugin。
评论