【问题标题】:Detect check_box_tag change检测 check_box_tag 变化
【发布时间】:2014-10-09 20:22:09
【问题描述】:

有没有办法检测复选框是否被选中或取消选中?

我想知道是否有一种方法可以使用表单、AJAX 或 JavaScript 在不刷新页面的情况下评估选中/取消选中复选框的情况。

= check_box_tag "checkbox", nil, true

我正在寻找类似这样的解决方案。 Something similar to onChange in JavaScript will run when the checkbox is selected/unselected.下面的代码只是一个例子。我知道这行不通。

= check_box_tag "checkbox, nil, selected == true ? "Selected" : "Deselected"

【问题讨论】:

    标签: ruby-on-rails checkbox


    【解决方案1】:

    您需要向服务器发送请求才能更改用户属性。

    例如,您可以在 jquery 上附加一个 onChange 事件并发送一个 AJAX 请求,并将选中的参数设置为当前值。

    这就是你的 on change 事件的样子:

    $(".checkbox").change(function() {
        checkboxValue = this.val();
        // Send AJAX with checkboxValue
    });
    

    然后在控制器上你可以随意设置@user属性。

    【讨论】:

    • 如果用户选中或取消选中该框,我无法评估一行? @user.update_column(:boolean, true) 有效。我只想在不使用表单、JavaScript 或 AJAX 的情况下将其附加到框的条件。
    • No ;) 您不能在客户端运行服务器端代码。您必须向服务器发送请求才能进行更新。
    • @user.update_column(:boolean, true) 更新列并完全按照我的意愿执行。我正在寻找一种在选中/取消选中复选框时运行该代码的方法。
    • 我更新了我的问题,以便更清楚地了解我想要实现的目标。
    猜你喜欢
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 2012-05-31
    • 2016-10-08
    相关资源
    最近更新 更多