Jquery “选择所有复选框”不会将复选框发送到本地存储
本地存储对于单个国家/地区选择的id运行良好,但当我单击“全选”图标时,我希望所有国家/地区id都传递到本地存储。不幸的是什么都没有通过。已经花了好几个小时了。有人知道我该怎么做吗?小提琴: //将复选框保存到本地存储 $function{ //将复选框状态保存到本地存储 var$containers=$'CountryListBoxID_prodn'; $containers.onchange、输入、函数{ var$复选框=$':复选框:选中'; 所选变量=$:复选框:选中.mapfunction{ 返回此.id; }.获得; selected=+selected.join','; localStorage.setItem'selected_checkbox',selected; console.log“设置所选ID:”,已选择; }; }; $CountrySelectAll\u ID\u prodn.点击,功能{ $'CountryListBoxID_prodn'。findinput:checkbox.prop'checked',true; }; $CountrySelectNone\u ID\u prodn.点击,功能{ $'CountryListBoxID\u prodn'。findinput:checkbox.prop'checked',false; }; 奥地利 法国 德国Jquery “选择所有复选框”不会将复选框发送到本地存储,jquery,local-storage,Jquery,Local Storage,本地存储对于单个国家/地区选择的id运行良好,但当我单击“全选”图标时,我希望所有国家/地区id都传递到本地存储。不幸的是什么都没有通过。已经花了好几个小时了。有人知道我该怎么做吗?小提琴: //将复选框保存到本地存储 $function{ //将复选框状态保存到本地存储 var$containers=$'CountryListBoxID_prodn'; $containers.onchange、输入、函数{ var$复选框=$':复选框:选中'; 所选变量=$:复选框:选中.mapfuncti
你离得不远 您只需要在全选按钮上设置localStorage
localStorage.setItem('selected_checkboxes', '#' + $containers.find("input:checked").map(function() {
return this.id;
}).get().join(',#'))
请参阅此处更新的JSFIDLE,其中包含一段代码:您需要触发更改事件 试试这个
$("#CountrySelectAll_ID_prodn").on('click', function()
{
$('#CountryListBoxID_prodn').find("input:checkbox").prop('checked',true);
$('#CountryListBoxID_prodn').find("input:checkbox").trigger('change');
});
$("#CountrySelectNone_ID_prodn").on('click', function()
{
$('#CountryListBoxID_prodn').find("input:checkbox").prop('checked',false);
$('#CountryListBoxID_prodn').find("input:checkbox").trigger('change');
});
你的id选择器错了。您需要使用按钮id进行选择
$("#SelectALLCountryID_prodn").on('click', function()
{ $('#CountryListBoxID_prodn').find("input:checkbox").prop('checked',true);
});
$("#SelectNONECountryID_prodn").on('click', function()
{ $('#CountryListBoxID_prodn').find("input:checkbox").prop('checked',false);
});
不喜欢向上拉答案,但如果在选中为true后在localStorage上进行控制台日志记录,则这不起作用,并且不会将所有选定项设置到localStorage-console.loglocalStorage.getItem'selected_复选框';这是一个非常优雅的解决方案,也是唯一有效的解决方案。非常感谢没问题。快乐编码!