これはおそらく単純な構文エラーなどですが、私は一生それを見ることができません。私は以前、はるかに複雑な構造で問題なくlocalStorageを使用したことがあるので、これが機能しない理由に戸惑います。
$('.symbols').click(function(){
if ($(this).attr("checked") == "checked"){
setPreferences("symbols", true);
} else {
setPreferences("symbols", false);
}
});
$('.length').on('change', function() {
setPreferences("length", $(this).attr('value'));
});
function setPreferences (key, value) {
console.log("Key[ " + key + " ], Val[ " + value + "]");
localStorage[key] = value; // I've also tried "" + value
}
記号の設定は問題なく機能しますが、長さは保存されません。console.logは、対応するイベントに目的のキーと値のペアを出力します。Chromeデバッガーから、スペースを割り当てようとしていることがわかります。これは、検査時に存在しないだけです。発生したイベントの順序は重要ではなく、「シンボル」のみが正しく保存されます。
選択した「長さ」から値16を選択した場合のコンソール印刷:
Key [length]、Val [16]