как сохранить только отмеченный флажок среди других флажков с таким же идентификатором в файлах cookie

Я создаю тестовое онлайн-приложение, используя структуру struts2. Я использую displaytag в jsp для повторения списка вопросов и ответов. вот код.

 <form method="get">

<display:table name="${sessionScope.questionList}" id="quest" pagesize="1"    

       requestURI="display.jsp">
           <display:column title="Stuff">
            <c:out value="${quest.quesId}"/><br/>
            <c:out value=" ${quest.question}"/><br/>   

    <input type="checkbox" name="ans1" value="${quest.option1}" id="ans1" />  <c:out value="${quest.option1}"/><br/>
    <input type="checkbox" name="ans2" value="${quest.option2}" id="ans2"/> <c:out value="${quest.option2}"/><br/>
    <input type="checkbox" name="ans3" value="${quest.option3}" id="ans3"/> <c:out value="${quest.option3}"/><br/>
    <input type="checkbox" name="ans4" value="${quest.option4}" id="ans4"/> <c:out value="${quest.option4}"/><br/>
        </display:column>
</display:table>
</form>

теперь всякий раз, когда пользователь выбирает параметр флажка, он должен храниться в файлах cookie, чтобы, когда пользователь вернется на эту страницу, флажок не был снят. как я могу этого добиться?


person user3467163    schedule 28.03.2014    source источник


Ответы (1)


Этот код не в моей голове и не проверен. Пожалуйста, прочтите документацию (или погуглите), чтобы правильно понять детали. Он основан на jQuery и плагине jQuery cookie.

Во-первых, прочитайте значение флажка при нажатии и сохраните его в файле cookie:

$("input[type=checkbox]").on("click", function (event) {
  var id = $(this).attr("id"),
    currentlySavedIds = $.cookie('saved_ids');
  currentlySavedIds.push(id);
  $.cookie('saved_ids', currentlySavedIds);
}

Затем, когда страница загружается:

$(document).ready(function () {
  var ids = $.cookie('saved_ids');
  $.each(ids, function (index, id) {
    $("#" + id).prop("checked", true);
  }
}
person fiskeben    schedule 28.03.2014