Я пытаюсь скрыть поля ввода с помощью checkboxes
, Сохранение имени checkbox
в localStorage
и .hide()
на input
работ, однако при обновлении страницы не сохраняется input
поле должно быть скрыто, а не checkbox
должно быть uncheck
.скрыть поле ввода, когда флажок установлен и в LocalStorage JQuery
Может кто-то указать на то, что я не хватает, я знаю, что проверка if()
еще не завершен, я пытался делать for()
внутри if
, чтобы получить localStorage
значения и делать ('#'+forVal).hide()
или ('#' + forVal).prop('checked', false)
, но это не работает.
inputs
являются динамическими
searchParams = getObjects(apiPaths[i].get.parameters);
for (var x = 0; x < searchParams.length; x++) {
var container = $('#checkBox');
var inputs = container.find('input');
var id = inputs.length + 1;
var inputName = searchParams[x].name;
$('<textarea />', { id: inputName, name: inputName, placeholder: inputName, rows: "2", class: "search-area-txt col-sm-12" }).appendTo(searchbox);
var chkBoxElement = $('<input />', { type: 'checkbox', id: inputName, name: inputName }).appendTo(checkBox);
chkBoxElement.click(function() {
checkBoxSetting(this.id);
});
chkBoxElement.prop('checked', true); // initially all inputs are checked
$('<label />', { 'for': 'x' + id, text: inputName, id: inputName, name: inputName }).appendTo(checkBox);
}
Проверяется localStorage
для флажков
var inputNames = [];
if (localStorage.getItem('chked') !== null) {
inputNames = JSON.parse(localStorage.getItem('chked'));
}
Сохранение его в localStorage
function checkBoxSetting(id) {
var indexOfItem = inputNames.indexOf(id)
if (indexOfItem >= 0) {
inputNames.splice(indexOfItem, 1);
} else {
inputNames.push(id);
}
localStorage.setItem('chked', JSON.stringify(inputNames));
$("#" + inputNames).hide();
}
Пример HTML с сохранением в localStorage
Html текстовые поля
<textarea id="id" name="id" placeholder="id" rows="2" class="search-area-txt col-sm-12"></textarea>
<textarea id="sku" name="sku" placeholder="sku" rows="2" class="search-area-txt col-sm-12"></textarea>
<textarea id="code" name="code" placeholder="code" rows="2" class="search-area-txt col-sm-12"></textarea>
Checkbox
<div id="checkBox">
<input type="checkbox" id="id" name="id">
<label for="id" id="id" name="id">id</label>
<input type="checkbox" id="sku" name="sku">
<label for="sku" id="sku" name="sku">sku</label>
<input type="checkbox" id="code" name="code"><label for="code" id="code" name="code">code</label>
</div>
Любые ошибки в консоли?Можете ли вы выставить тестовую страницу где-нибудь (например, codepen), чтобы мы могли увидеть ее в действии? – danwellman
Где вы помещаете значения из localstorage в HTML-dom? – Zorken17
Дайте нам также HTML – Zorken17