所以我有多个使用简单形式的 Ruby Gem 制作的复选框。但问题是,即使我已经检查并将它们设置为“真”并按下更新按钮,它们也没有出现被检查。我有三个示例,它们都不起作用,我尝试为所有三个示例编写不同的代码。
<%= f.input :same_as_client_email,
inline_label: "Same as Client Email",
as: :boolean %>
第一个例子
<%= f.input :same_as_client_name,
inline_label: "Same as Client Name",
as: :boolean, checked_value: true,unchecked_value: false
%>
第二个例子
<%= f.input :active,
as: :boolean,
checked_value: true, unchecked_value: false,
input_html: { value: '1', checked: true },
inline_label: "Active"%>
最后一个例子。
这些都没有实际工作或保持检查。我有其他输入,当我按下更新按钮时它们正在保存。但是复选框不是。任何帮助将不胜感激。
最佳答案
这是一个 javascript 问题,以防其他人出现并看到它。一起使用 jquery 和 simpleform 时要小心。我的问题是我们有 jquery 代码来使我们的按钮更美观。
//$(function checkbox() {
// 'use strict'
//
// var originalElement = $('input[type="checkbox"]');
// var overlay = '<div class="checkbox-overlay"><div class="inner"></div></div>';
//
// function swapCheckbox() {
// originalElement.replaceWith(overlay);
// }
//
// function toggleCheckbox() {
// $(this).toggleClass('checked');
//
// }
//
// function initialize() {
// swapCheckbox();
// $('body .checkbox-overlay').on('click', toggleCheckbox);
// }
//
// initialize();
//});
但实际上这使得它变得如此简单,只接收 0 而从不接收 1。换句话说,即使您选中了该框,它也永远不会真正起作用,因为此 Jquery 代码在将变量发送到 simpleform 时对其进行了操作。将来如果我修复了复选框,我会更新这篇文章,这样它们看起来“漂亮”,同时又不会影响功能。这个问题花了很长时间才解决,考虑到我不知道这个文件,直到一个 SimpleForm 开发人员指出他们可能是一个混淆我的代码的 js 文件。
编辑:我希望这能更好地解释问题!
关于ruby-on-rails - Ruby 简单表单复选框在 True 时不检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31033779/