【问题标题】:How can I tie input checkbox to Javascript function?如何将输入复选框绑定到 Javascript 函数?
【发布时间】:2015-07-31 22:04:28
【问题描述】:

我无法将我的复选框结果绑定到 Javascript 代码。我怎样才能正确地做到这一点?脚本对此没有反应。

application.js

$(document).on('ready page:load', function () {
 function setCheckbox() {
    $('.check').on('click', function complete(){
      alert("alert");
    }) }
})

查看文件

 <input type="checkbox" value="<% article.complete %>" class='check' data-remote="true" >

【问题讨论】:

  • 你刚刚定义了一个函数setCheckbox,但你没有执行它,要么在声明后执行它,要么只是删除那个setCheck并留下$('.check').on(...部分。
  • @fuyushimoya 我很好奇为什么这个脚本只被调用一次?我必须刷新页面才能再次获得警报。
  • 我不确定,警报在jsfiddle 上正常工作,也许你可以把代码放在 jsfiddle 上以便我们检查?
  • @fuyushimoya 我弄错了。对不起

标签: javascript ruby-on-rails checkbox


【解决方案1】:

我会做一个更改事件而不是点击

$('.check').on('change', function(){
    if ($(this).is(':checked')) {
        //do stuff here
    }
});

【讨论】:

  • 更改事件到底是做什么的?
  • 它寻找值的变化,而 fuyushimoya 对你包装 jquery 的函数是正确的,它没有被调用,所以它不会做任何事情。要么调用函数,要么将其从setCheckbox()中取出
  • 好吧,就这样吧。但是复选框选项应该如何看待那个事件呢?
  • 我不太清楚你的意思,你能解释一下吗?
  • 嗯,输入应该和你的一样,除了你注入的 ruby​​ 只是被评估而不是打印为 html,你需要一个等号来渲染文章。完成&lt;%= article.complete %&gt;。接下来,如果您希望它更新您的文章,您需要将其放入表格中。在该表单上,您将输入“remote:true”,然后需要具有您在控制器的更新方法中响应的 js 格式。我会阅读this 以更好地了解如何完成您想要的
猜你喜欢
  • 2014-06-03
  • 1970-01-01
  • 2016-05-14
  • 2016-06-07
  • 2010-12-20
  • 2019-04-08
  • 2017-08-21
  • 2012-02-12
  • 2012-03-06
相关资源
最近更新 更多