2014-03-28 75 views
0

我正在創建一個使用struts2框架的在線測試應用程序。我在jsp中使用displaytag來遍歷問題和答案的列表。這裏是代碼。如何保存只有勾選的複選框在Cookie中具有相同ID的其他複選框

<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

此代碼不在我的頭頂,未經測試。請閱讀文檔(或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); 
    } 
} 
相關問題