【问题标题】:Programmatically check a checkbox using CoffeeScript使用 CoffeeScript 以编程方式检查复选框
【发布时间】:2012-08-12 11:20:51
【问题描述】:

如何以编程方式检查 Coffeescript 中的复选框?

我知道 Javascript,我可以用这个:

myElement.checked = true

我可以在 Coffeescript 中执行以下操作吗?

myElement.checked "true"

我已经尝试过上述方法,但它不适合我。

在这方面的任何帮助将不胜感激。谢谢。

【问题讨论】:

  • myElement 是复选框吗?我怀疑还有什么问题。您可以发布一些相关的代码。例如:你什么时候想打电话给这个?你如何选择myElement等。
  • 如果 myElement.checked = true 在 JavaScript 中工作,那么 myElement.checked = true 也应该在 CoffeeScript 中工作。
  • 是的,myElement 是一个复选框。我正在使用它的 ID 选择它。此外,myElement.disable "true" 在 CoffeeScript 中绝对可以禁用复选框。所以看起来元素的选择没有问题。
  • @muistooshort:你说得对,myElement.checked = "yes" 在纯 JavaScript 中完美运行。

标签: javascript ruby-on-rails validation coffeescript


【解决方案1】:

更新:

myElement.checked = "yes";

myElement.checked = null;// for unchecking

所以,对于your case

a.checked = b.checked; //i.e. check a if b is checked

Example here


//CoffeeScript
a = {}
a.b = 10
alert a.b

编译为..

//javascript
var a;
a = {};
a.b = 10;
alert(a.b);

然而a.b 10 在 javascript 中编译为 a.b(10),这不是你想要的。 :)

【讨论】:

  • 感谢您的回答罗宾。但我试过myElement.checked = true,也没有用。此外,只是添加到信息中...myElement.disable "true" 绝对可以很好地禁用相同的复选框。
  • @Myxtic:那就试试checked = "yes"。我认为这是纯 javascript 中的正确方法。
  • 那也没用,很奇怪。所以我尝试的是:$('#my_element_id').checked = "yes" ...这应该有效,对吧?另外,再次澄清一下,当我做$('#my_element_id').disable "true" 时,它工作得很好。
  • 非常感谢罗宾的例子。但它仍然不起作用:(不知道为什么......
  • jsfiddle.net/myZwM -- 如果选中了复选框'b',我想将复选框'a'标记为选中。
【解决方案2】:

您的myElement 是 jQuery 对象,并且您要处理 DOM 元素:

// HTML
<input class="toggle" type="checkbox"/>


//coffeescript

$('.toggle')[0].checked = true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2012-10-01
    • 2019-07-16
    • 2012-08-13
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    相关资源
    最近更新 更多