2010-08-23 6 views
2

Le collé ci-dessous le code j'utilise pour créer la liste déroulante et java script pour faire quelques étoffesComment: définir la valeur sélectionnée « dans la liste déroulante » au moment de l'exécution

<td> 
    <select id="currentCustomer" onchange="showSelectedCustomer(this)"> 
    <c:forEach var="Customer" items="${listCustomer}" > 
     <option value="<c:out value="${Customer}" />"><c:out value="${Customer}" /> 
     </option> 
</c:forEach> 
    </select> 
</td> 

function showSelectedCustomer(dropdown) { 
var selectedCustomer = dropdown.options[dropdown.selectedIndex].value; 
var currentCustomer = document.getElementById('currentCustomer'); 

var context = document.forms[0].context.value; 
document.forms[0].mode.value = "UPDATE"; 
document.forms[0].custName.value = dropdown.options[dropdown.selectedIndex].value; 
document.forms[0].action=context+"/updateReportDetail.do"; 
document.forms[0].method="POST"; 
document.forms[0].submit(); 
} 

Mon problème est comment définir la valeur sélectionnée de manière dynamique dans la liste déroulante.

Permettez-moi d'expliquer brièvement ici,

Dans un premier temps au moment de la demande d'enregistrement de la page d'atterrissage « x.JSP » affichera la liste déroulante avec plusieurs noms de clients avec le prénom du client comme sélectionné un par défaut. Si je sélectionne un autre nom de client dans la liste déroulante j'appelle Javascript [événement onchage] à soumettre à former et à faire d'autres choses dans la classe DAO java pour le client sélectionné et revenir à la page "x.JSP".

Maintenant, la chose est que je dois définir le nom du client le plus récent [c.-à-d. Le client que j'ai traité dans la classe DAO java] comme un dans la liste déroulante.

Aidez-moi les gars.Merci de votre effort à l'avance.

Répondre

1

Dans votre boucle forEach, vérifiez si le client dans votre itération actuelle est celui qui correspond à votre choix prédéterminé. Vous ne donnez aucune indication sur la façon dont vous choisissez le «bon» client à sélectionner lors du chargement de la page, donc j'utiliserai du pseudo-code pour cela.

<c:forEach var="Customer" items="${listCustomer}" > 
    <% String selected = ""; 
     if (customer.equals(predeterminedCustomerToBeSelected)) { 
      selected = "selected"; } 
    %> 
     <option value="<c:out value="${Customer}" />" <%=selected%>><c:out value="${Customer}" /> 
     </option> 
</c:forEach> 
+0

. oui, je n'ai aucune idée de comment imprimer le client précédent sélectionné comme un maintenant, c'est ce que je demande. – Manu

+0

Eh bien, vous devez le stocker quelque part. Stockez-le dans la session, écrivez-le comme un cookie, faites quelque chose pour que vous puissiez le récupérer plus tard. – bluedevil2k

+0

. pouvez-vous me donner un exemple de code pour cela si cela ne vous dérange pas .. – Manu

Questions connexes