我有一个表格,显示上面复选框中所选项目的数据,如[],b [],c []。最初,首次加载页面时,表格显示为空。进行复选框选择后,表格将显示选择的数据。然后当我取消勾选所有复选框并按下显示时,表格显示应为空。
在控制器中,用于复选框选择的变量因此>
@selected_brands = params [:brands] ||会话[:品牌] || {}
您可能会发现,params []和session []是视图中表单提交的值。 {} - >没有选中复选框时。 再次在控制器中,我有这个 @products = Product.find_all_by_brand(@ selected_brands.keys)
我遇到的问题是,当我取消选中框后,按照我之前的选择,该表显示上一个会话的数据,而不是空表。我不做什么?
答案 0 :(得分:1)
你遇到了许多人的HTML问题:当你取消选中所有复选框时,没有任何内容被发送到服务器,因此没有记录任何变化,所以最后的情况仍然被录制。
有很多解决方案(事件,javascript,服务器端代码),所以我的建议是将你的搜索范围扩大到通用html如何最好地处理这种情况。
如果您不喜欢Javascript,并且对于过多的db-actions没有任何问题,请删除该产品的所有选定品牌,并在获得此结果时重新应用所选品牌。