У меня есть <input value=name type=checkbox>
, значения которого должны быть постоянными. Поэтому я сохранил в Cookies значение каждого из них, и я написал функцию, которая должна восстановить значения, когда страница будет готова..prop («checked», false) делает флажок true
Функция, сохранить куки является:
function setAllCookies() {
var checkboxs = $("#divwheretheinputsare input");
for (i in checkboxs)
Cookies.set(checkboxs[i].value,checkboxs[i].checked);
}
И функция для восстановления их является:
function readAllCookies() {
var checkboxs = $("#divwheretheinputsare input");
for (i in checkboxs) {
var nom = checkboxs[i].value;
var value = Cookies.get(nom);
$("##divwheretheinputsare input[value='" + nom + "']").prop("checked", value);
//Also tried $("##divwheretheinputsare input[value='" + nom + "']")[0].checked = value;
}
}
Я могу подтвердить, что Куки хранятся с правильным именем и эти две функции полностью выполнен. С отладкой я обнаруживаю это: когда строка $ ("## divwheretheinputsare вводится [значение = '" + nom + "']"). Prop ("checked", value) выполняется, флажок всегда проверяется, независимо от того, если значение ложно. Если я выполняю эту точную строку в консоли, флажок правильно изменяется ...
Кроме того, альтернативная кодолина правильно выполняется в консоли, но в функции она падает: «TypeError: $ (...) [0 ] не определено ».
cookie хранит строки, но вам нужно логическое значение для 'prop ('checked', boolean)' – charlietfl