2017-05-24 41 views
0

我不確定這是可能的,所以讓我知道如果我問的是不可能的,但我有一個JSP頁面,它包含一個綁定到Spring MVC模型的表單。 我有一個按鈕,當點擊時將div的內容存儲在一個javascript變量中。表格包含在這個div內。然後將div內容替換爲其他一些HTML。這是JSP頁面...jquery存儲容器內容以及變量中的表單選擇

<input id="linkEntity" type="button" value="Link" /> 
<input id="storeDiv" type="button" value="store" /> 

<div id="div1"> 
    <form:form id="form1" method="post" modelAttribute="model" action="${pageContext.servletContext.contextPath}/save"> 
     <select name="ethnicity" > 
      <option value="">Please select</option> 
       <c:forEach items="${ethnicityList}" var="et"> 
        <option value="${et.code}" <c:if test="${et.code == model.ethnicity}">selected="selected"</c:if>>${et.desc}</option> 
       </c:forEach> 
     </select> 
    </form:form> 
</div> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     var origDiv = ""; 
     $("body").on("click", "#storeDiv", function() { 
      origDiv = $("#div1").html(); 
      $("#div1").html("replace div with other contents.."); 
     }); 
     $("body").on("click", "#linkEntity", function() { 
      $("#div1").html(origDiv); 
     }); 

    }); 
</script> 

我想什麼發生的是,如果說選擇已在選擇元素所做的,我能以某種方式記錄這一點,並有選擇的價值,當我更換內容的div與原始的HTML?

回答

0
$(document).ready(function() { 
    var origDiv = $("#div1").html(); 
    $("body").on("click", "#storeDiv", function() { 
     $("#div1").html("replace div with other contents.."); 
    }); 
    $("body").on("click", "#linkEntity", function() { 
     $("#div1").html(origDiv); 
    }); 
}); 
+0

這與我的基本相同。如果可能,我需要表單輸入和選項來記錄在origDiv JavaScript變量中。不僅僅是頁面加載時的選項和輸入,還有用戶對錶單的任何更改。 – user2554194

0

這是一個解決方案... 創建頁面加載另一個空JS變量稱爲formselections ..

var formselections = ""; 

在點原始的HTML保存在JS變量,填充另一個js的變量,表格值使用..

formselections = $("#form1").serializeArray(); 

然後,當你把原始的HTML回容器,迭代這個變量設置你的表單元素爲記錄值l ike this ..

$.each(formselections, function(i, e) { 
    $("#form1 [name="+e.name+"]").val(e.value); 
});