[刷新页面后保留复选框

问题描述 投票:1回答:1

我在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" />&nbsp;&nbsp;&nbsp; <%= v %><br/>
   <% else %>
     <input type="checkbox" class="check" />&nbsp;&nbsp;&nbsp; <%= 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应用程序中具有以下复选框<...>

javascript jquery checkbox local-storage
1个回答
0
投票

您正在使用的选择器将设置所有复选框输入状态,因此您必须分别为每个输入设置checked属性,也不是使用localStorage的更好方法是使用setItemgetItem()方法:

这里是一个代码段(由于它是一个沙箱,用于检查小提琴,因此在这里不起作用)和一个fiddle

© www.soinside.com 2019 - 2024. All rights reserved.