所以我有一个使用简单形式Ruby Gem制作的多个复选框。但问题是,即使我已经检查并设置了它们,它们也没有出现过检查。#34; true"并按下更新按钮。我有三个例子,所有这些例子都不起作用,我尝试为这三个做不同的代码。
<%= 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"%>
最后的例子。
这些实际工作都没有或保持检查。我有其他输入,当我按下更新按钮时它们正在保存。但复选框不是。任何帮助将不胜感激。
答案 0 :(得分:1)
这是一个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时操纵变量。如果我修复了这个复选框,那么在将来我会更新这篇文章,这样他们就可以看起来很漂亮了#34;而不是搞乱功能。这个问题花了很长时间才解决,考虑到我不知道这个文件,直到SimpleForm开发人员指出他们可能是一个js文件弄乱我的代码。
编辑:我希望这能更好地解释问题!