Remplir 2ème liste déroulante basée sur la 1ère liste déroulante de sélection à l'aide de jQuery, ajax, struts2
Modifier Est-il un autre moyen que je peux remplir la 2ème déroulant au 1er menu déroulant jquery, ajax. S'il vous plaît poster un lien si quelqu'un a un.
J'ai mise à jour de la deuxième liste déroulante basée sur la première liste déroulante de sélection. Je suis à l'aide de jQuery et Struts2. Je veux mettre à jour la deuxième liste déroulante à l'aide de jQuery ajax. Quelqu'un peut s'il vous plaît aidez-moi le code. J'ai essayé avec la méthode ci-dessous mais de toute façon, j'étais incapable de passer les paramètres à l'Action de classe. Je vous remercie à l'avance.
http://www.joe-stevens.com/2010/02/23/populate-a-select-dropdown-list-using-jquery-and-ajax/
Edit:
Comme par Climbage dit que je suis à jour avec le code tout ce que j'ai.
caseSelect est la première liste Déroulante, termSelect est deuxième, casetermcodes est l'action. selCaseDropDown est variable cachée, je veux récupérer la valeur sélectionnée de la première liste déroulante dans l'Action de la classe où j'ai getter et setter pour cette variable. J'ai d'abord collé à l'envoi de la valeur sélectionnée à l'action de classe. Je n'ai pas n'a rien d'autre de ce point.
$("#caseSelect").change(
function(){
$("#result").html('Retrieving ...');
var selCase = $("#caseSelect").val();
$.ajax({
type: "POST",
url: "/dwdst/casetermcodes",
data: {selCaseDropDown: selCase},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#termSelect").get(0).options.length = 0;
$("#termSelect").get(0).options[0] = new Option("Term Codes", "-1");
$.each(msg.d, function(index, item) {
$("#termSelect").get(0).options[$("#termSelect").get(0).options.length] = new Option(item.value, item.key);
});
},
error: function() {
alert("Failed to load Term Codes");
$("#result").hide();
}
});
});
Classe d'Action :
public String execute(){
logger.info("selected value >>"+selCaseDropDown);
return SUCCESS;
}
public String getSelCaseDropDown(){
return selCaseDropDown;
}
public void setSelCaseDropDown(String selCaseDropDown){
this.selCaseDropDown = selCaseDropDown;
}
- Vous pouvez poster ce que vous avez déjà?
- J'ai juste mis à jour avec le code disponible.
- Aucune aide de personne, au moins commencer à obtenir la valeur sélectionnée dans Struts action. Quel est le problème avec cette "données: {selCaseDropDown: selCase},"
- où est l'action Struts?
- Maintenant j'ai essayé d'obtenir la valeur Sélectionnée de la liste déroulante. Je n'allais pas du tout. Je n'ai pas écrit le code de l'action, seulement un getter et le setter de la méthode. J'ai mis à jour le code ci-dessus.
Vous devez vous connecter pour publier un commentaire.
J'ai résolu ce problème en créant un autre court JSP qui a seulement déroulant (deuxième menu déroulant) en tant que code html et dans mon action résultat serait cette courte page.
Lorsque la première page est de sélectionner action d'appel à l'aide de code ci-dessous et en remplaçant la liste déroulante déjà montré dans jsp avec ce deuxième court déroulant uniquement jsp.
getSecondSelect
est l'action que je fais appel qui a pour résultat que de courte jsp.tercodeResult
est la balise div qui est remplacée par la nouvelle déroulant.selId
est la valeur sélectionnée à partir de la première liste déroulante.Essayer cela, vous aidera dans Struts 2.0.14 avec jsonplugin-0.32.jar.
struts.xml:
action de classe Helloworld.java:
Vous pouvez appeler directement HelloWorld.action pour afficher les données JSON ou autre chose que vous pouvez lier les données JSON à un élément de formulaire ci-dessous.
Page JSP HelloWorld.jsp: