2013-04-09 4 views
0

Je suis nouveau sur Jquery et j'utilise Jquery pour remplir des valeurs dans un champ déroulant.Jquery attribue la valeur à la variable JSP

Lors de la sélection d'une valeur de la liste déroulante, j'affecte une valeur à un champ caché.

onSelect: function(index,row){ 
     var val = row.value; 
     alert('val '+val); 
       $("#hid").val(val);  
    } 

Comment puis-je attribuer la valeur à la variable JSP ou si j'utilise request.getParameter("hid"); dois-je soumettre à nouveau le formulaire pour obtenir la valeur?

Modifier 1

$(function(){ 
$('#comb').combogrid({ 
    panelWidth:200, 
    url: 'myservice', 
    idField:'id', 
    textField:'desc' 
    columns: [[ 
       {field:'Id',title:'Id',width:20}, 
       {field:'desc',title:'Desc',width:80} 
      ]], 
    onSelect: function(index,row){ 
     var val = row.value; 
     alert('val '+val); 
       $("#hid").val(val);  
    } 
}); 

});

Répondre

5

JSP est un code Java qui s'exécute sur votre serveur.

JavaScript est activé sur votre navigateur.

Vous ne pouvez donc pas affecter de variables JSP en utilisant JavaScript.

La forme submit ou ajax est le bon choix pour cette situation.


Ajax Extrait de code.

onSelect: function(index, row) { 

    $.ajax({ 
     url: '/your-url', // path to your url which gets this ajax request 
     method: 'get', // or a http method you want to use 
     data: { 
      value: row.value 
     }, 
     success: function(response) { 
      alert('Boom!' + response); 
     } 
    }); 

} 

Voir jQuery Ajax API docs pour plus d'informations. Il y a beaucoup d'options.

+0

breadmj, j'ai édité et ajouté mon code pour remplir le menu déroulant. Dois-je envelopper avec '$ .ajax ({'? – user75ponic

+0

non, j'ai édité ma réponse.Vous devriez envoyer une requête ajax lorsque votre grille est sélectionnée. (Vous utilisez le plugin combogrid droite?) Alors, recherchez le code ajax dans le 'onSelect' callback – breadmj

+0

breadmj, donc 'url' dedans' $ .ajax ({'est l'URL où vous voulez soumettre droit? – user75ponic

1

En fonction de la sélection de l'utilisateur de la liste déroulante, si vous voulez faire quelque chose sur le côté serveur, je suggère d'envoyer un appel AJAX ou formulaire de soumission.

Vous ne serez pas en mesure de faire directement ci-dessous.

request.getParameter("hid"); 
+0

Le1, de sorte que l'appel ajax devrait après avoir sélectionné la valeur de dérouler à droite? – user75ponic

+0

Un extrait de code sur comment faire un appel ajax pour obtenir la valeur? – user75ponic

+0

Refer to http://stackoverflow.com/questions/3429176/how-to-call-ajax-request-on-dropdown-change-event – JRR

Questions connexes