我在Rails应用程序中具有以下复选框,>
<% if field["field_type"] == "checklist"%> <% templat = @custom_templates.select{|s| s["id"] == m["startup_field_template_id"]}.first%> <small> <% vals = field["options"].to_s.gsub(/[\[\"\]]/, '').split(',') %> <% vals.each do |v| %> <% if templat["option_multi"]%> <input type="checkbox" /> <%= v %><br/> <% else %> <input type="checkbox" class="check" /> <%= v %><br/> <% end %> <% end %> </small> <% else %> n/a <% end %>
我使用下面的代码在刷新页面后保持选中状态为选中状态
<sript> $(function(){ var test = localStorage.input === 'true'? true: false; $('input').prop('checked', test || false); }); $('input').on('change', function() { localStorage.input = $(this).is(':checked'); console.log($(this).is(':checked')); }); </script>
但是刷新页面后,它会选中所有复选框。我该如何解决?
我在Rails应用程序中具有以下复选框<...>
您正在使用的选择器将设置所有复选框输入状态,因此您必须分别为每个输入设置checked属性,也不是使用localStorage的更好方法是使用setItem
和getItem()
方法:
这里是一个代码段(由于它是一个沙箱,用于检查小提琴,因此在这里不起作用)和一个fiddle: