ユーザーの設定をローカル ストレージに保存するフォームがあります。このフィドルまたは以下で確認できます。
私がこれまでに持っているものには、2つの主な問題があります。
- 保存ボタンをクリックすると、myStorage を空にし、そこに選択したものを追加して、クリックした内容のライブ結果を確認できるようにします。フィドルを再実行した場合にのみ記憶されます。
私の最大の問題は、私が持っているものが1つのオプションで選択フィールドに最適であることですが、この場合、ユーザーは複数を選択できるため、ユーザーが複数の値をローカルストレージに保存できるようにするには、何を追加する必要があるので、次回複数の選択が保存されるページをロードしますか?
<form name="Filter"> <select multiple="1" id="filter"> <option value="111">Andrew</option> <option value="222">Bill</option> <option value="333">Charles</option> <option value="444">Dikembe</option> <option value="555">Edward</option> </select> </form> <div id="store">click to store</div> <br> <h3>People I have stored</h3> <div id="myStorage"></div>
JS
var iSelectedTitle = localStorage.getItem('title');
var iSelectedVal = localStorage.getItem('value');
console.log("iSelectedTitle: " + iSelectedTitle);
console.log("iSelectedVal: " + iSelectedVal);
$("#filter option").each(function () {
if ($(this).val() == iSelectedVal) {
$(this).attr("selected", "selected");
}
});
$("#store").click(function () {
var mytitle = $("#filter option:selected").text();
var storedTitle = localStorage.setItem("title", mytitle);
console.log("mytitle: " + mytitle);
console.log("storedTitle: " + storedTitle);
var myValue = $("#filter option:selected").val();
var storedValue = localStorage.setItem("value", myValue);
console.log("myValue: " + myValue);
console.log("storedValue: " + storedValue);
if (iSelectedTitle != "undefined") {
$('#myStorage').empty().append(iSelectedTitle);
}
});
if (iSelectedTitle != "undefined") {
$('#myStorage').append(iSelectedTitle + ' - <a target= "_blank "href="http://www.example.com/' + iSelectedVal + '">View profile</a>');
}