我正试图编写一些CoffeScript函数,它检查表中的复选框时检查表中的所有复选框。CoffeeScript总是返回匿名函数
我在CoffeeScript的功能如下:
$("table.tableview th input:checkbox").live 'click', ->
checkedStatus = this.checked
$("table.tableview tbody tr td:first-child input:checkbox").each ->
this.checked = checkedStatus
它的伟大工程,用于检查所有的箱子。但是,取消选中时不起作用。编译的JS如下所示:
$("table.tableview th input:checkbox").live('click', function() {
var checkedStatus;
checkedStatus = this.checked;
return $("table.tableview tbody tr td:first-child input:checkbox").each(function() {
return this.checked = checkedStatus;
});
});
它不起作用,因为在第一个设置为false之后,该函数的返回值将为false。然而,我不知道如何抑制咖啡脚本的这种默认返回行为。请帮忙。
当我添加一个“真”按Flambino的建议,我得到以下JS
$("table.tableview th input:checkbox").live('click', function() {
var checkedStatus;
checkedStatus = this.checked;
$("table.tableview tbody tr td:first-child input:checkbox").each(function() {
return this.checked = checkedStatus;
});
return true;
});
我可以得到函数内的return语句,唯一的办法是把它所有的方式是这样的:
$("table.tableview tbody tr td:first-child input:checkbox").each ->
this.checked = checkedStatus
true
我在做什么错? Thx的帮助迄今为止
是的。看起来不像有一种方法可以抑制咖啡文本返回行为。 https://开头github上。com/jashkenas/coffee-script/issues/1401 – olooney
我修改了原帖 – Gidogeek
@Gidogeek:我已经更新了我的答案:) – Flambino