2013-04-09 157 views
0

我是Jquery的新手,我正在使用Jquery在下拉字段中填充值。Jquery爲JSP變量賦值

從下拉列表中選擇一個值後,我將值賦給一個隱藏字段。

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

我怎麼能值分配給JSP變量,如果我用request.getParameter("hid");,我需要再次提交表單,以獲得價值?

編輯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);  
    } 
}); 

});

回答

5

JSP是運行在服務器端的Java代碼。

JavaScript在您的瀏覽器上運行。

所以你不能使用JavaScript分配JSP變量。

表單提交或ajax是這種情況的正確選擇。


Ajax代碼片段。

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); 
     } 
    }); 

} 

有關更多信息,請參閱jQuery Ajax API docs。 有很多選項。

+0

breadmj,我編輯並添加了我的代碼來填充下拉菜單。我應該使用'.ajax({'? – user75ponic 2013-04-09 05:56:56

+0

nope'),我編輯了我的答案,當你的網格被選中時,你應該發送一個ajax請求(你使用combogrid插件的權利?)所以找到'onSelect'回調。 – breadmj 2013-04-09 06:04:54

+0

breadmj,''''裏面的'''.ajax({'是你想要提交的URL吧? – user75ponic 2013-04-09 06:06:57

1

根據用戶對下拉列表的選擇,如果你想在服務器端做點什麼,我會建議發送AJAX調用或者表單提交。

您不能直接執行以下操作。

request.getParameter("hid"); 
+0

The1,所以ajax調用後應該從下拉菜單中選擇數值吧? – user75ponic 2013-04-09 05:36:22

+0

關於如何使ajax調用來獲取值的任何代碼片段? – user75ponic 2013-04-09 05:36:57

+0

請參閱http://stackoverflow.com/questions/3429176/how-to-call-ajax-request-on-dropdown-change-event – JRR 2013-04-09 05:41:32