Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails在过帐之前统计视图中的复选框数_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails在过帐之前统计视图中的复选框数

Ruby on rails Rails在过帐之前统计视图中的复选框数,ruby-on-rails,Ruby On Rails,我对Javascript知之甚少,但我认为这可能是解决问题的唯一方法。 我使用的是rails 5。 我基本上在视图中有代表价格的复选框,每次我选中或取消选中一个复选框时,我都想更新该视图的总价格(然后我将其传递到一个隐藏的_字段和一个post请求中)。 我猜我要做的是,每次我选中或取消选中一个框时,让onclick事件运行,并更新一个变量,然后在视图中显示该变量 我发现了一些与我的案例非常相似的东西,但不幸的是,我无法复制它: 我有一个类“checkbox count”的复选框,我可以在每次检查

我对Javascript知之甚少,但我认为这可能是解决问题的唯一方法。 我使用的是rails 5。 我基本上在视图中有代表价格的复选框,每次我选中或取消选中一个复选框时,我都想更新该视图的总价格(然后我将其传递到一个隐藏的_字段和一个post请求中)。 我猜我要做的是,每次我选中或取消选中一个框时,让onclick事件运行,并更新一个变量,然后在视图中显示该变量

我发现了一些与我的案例非常相似的东西,但不幸的是,我无法复制它:

我有一个类“checkbox count”的复选框,我可以在每次检查它们时发送警报,但到目前为止,这就是我所拥有的全部


非常感谢您的帮助

这可以在服务器端通过在控制器操作中获取复选框值的数组(复选框名称都是相同的数组值)并将这些值添加到一起来处理,也许您有理由不这样做

否则,这更像是一个javascript问题,但可以用一些普通的javascript来处理,比如:

//一个快速自定义函数,用于计算给定表单中所有选中复选框的总值
函数calcFormCheckedBoxesTotal(表单){
总数=0;
form.querySelectorAll(“输入[type='checkbox']:已选中”).forEach(已选中的复选框=>{
total+=parseInt(勾选了.getAttribute(“值”);
});
返回总数;
}
//获取要使用的所有表单复选框输入
checkbox=document.querySelectorAll(“表单输入.复选框计数”);
//循环所有给定的表单复选框输入,以便我们可以。。。
复选框。forEach(复选框=>{
//…将单击事件侦听器添加到每个复选框
复选框.addEventListener('单击',事件=>{
//…使用我的自定义函数计算当前单击复选框的父窗体中所有复选框的总数,并存储在“total”变量中
总计=calcFormCheckedBoxesTotal(event.target.parentElement);
//…使用id=“total_price”更改我的文本输入值以显示复选框的总数。将querySelector的目标更改为要使用总数更新的任何内容(隐藏字段)。
document.querySelector(“#总价”)。value=total;
});
});

25美元
50美元
100美元