我正在使用struts2框架创建在线测试应用程序。我在jsp中使用displaytag来迭代问题和答案列表。这是代码。
<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中,这样当用户返回到该页面时,该复选框不应该被取消选中。我怎么能做到这一点?
答案 0 :(得分:0)
这段代码不在我的脑海中且未经测试。请阅读文档(或Google文档)以获取正确的详细信息。它基于jQuery和jQuery cookie plugin。
首先,单击时读取复选框的值并将其存储在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);
}
}