diff --git a/core/modules/widgets/checkbox.js b/core/modules/widgets/checkbox.js index e2df3185c..fc987d815 100644 --- a/core/modules/widgets/checkbox.js +++ b/core/modules/widgets/checkbox.js @@ -116,7 +116,7 @@ CheckboxWidget.prototype.getValue = function() { } else { list = $tw.utils.parseStringArray(this.checkboxDefault || "") || []; } - } else if (this.checkboxListIndex) { + } else if(this.checkboxListIndex) { list = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(tiddler,this.checkboxListIndex,this.checkboxDefault || "")) || []; } else { list = this.wiki.filterTiddlers(this.checkboxFilter,this) || []; @@ -215,6 +215,8 @@ CheckboxWidget.prototype.handleChangeEvent = function(event) { if($tw.utils.isArray(fieldContents)) { // Make a copy so we can modify it without changing original that's refrenced elsewhere listContents = fieldContents.slice(0); + } else if(fieldContents === undefined) { + listContents = []; } else if(typeof fieldContents === "string") { listContents = $tw.utils.parseStringArray(fieldContents); // No need to copy since parseStringArray returns a fresh array, not refrenced elsewhere