2017-05-24 2 views
0

Je ne suis pas sûr que cela soit possible alors laissez-moi savoir si je demande l'impossible mais j'ai une page JSP qui contient un formulaire qui est lié à un modèle de printemps MVC . J'ai un bouton qui, lorsqu'on clique dessus, stocke le contenu d'un div dans une variable javascript. Le formulaire est contenu dans cette div. Le contenu div est ensuite remplacé par un autre HTML. Ceci est la page JSP ...jquery stocker le contenu du conteneur ainsi que les sélections de formulaire dans la variable

<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> 

Ce que je voudrais arriver est si dire une sélection a été faite dans l'élément de sélection, puis-je enregistrer cette certaine façon et d'avoir cette valeur sélectionnée lorsque je remplace le contenu div avec le HTML d'origine?

Répondre

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

C'est fondamentalement le même que j'ai. J'ai besoin d'entrées de formulaire et sélectionnez les options à enregistrer dans la variable javascript origDiv si possible. Non seulement les options et les entrées sur le chargement de la page, mais les modifications apportées à la forme faite par l'utilisateur. – user2554194

0

C'est une solution ... Créer une autre variable vide appelé formselections sur la charge page ..

var formselections = ""; 

Au point où html d'origine est stockée dans la variable js, renseignez une autre variable js avec les valeurs de l'aide .. forme

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

Ensuite, lorsque vous mettez le code html d'origine dans le contenant, sur cette variable itérer la définition de vos éléments de formulaire à la valeur enregistrée l comme ceci ..

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