使用jquery的ajax方法获取下拉列表值

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,用户体验非常好。

下面介绍两种动态加载DropDownList值的方法。

第一种:

View层

<select id="funcNum" name="funcNum"></select>
<script>
$(document).ready(function() {
 showFuncId();
}
function showFuncId(){
 $('#funcNum').empty();
 var ciValue = $('#funcNum'); 
 ciValue.append('<option value="">Pls Select</option>');  
 $.ajax({ 
        url : u,  //your actual url
        type : 'post',  
        dataType : 'json',  
        success : function (opts) {  
               if (opts && opts.length > 0) {  
                   var html = [];  
                    for (var i = 0; i < opts.length; i++) {  
                        html.push('<option value="'+opts[i].id+'">'+opts[i].desc+'</option>'); 
                      }  
                    ciValue.append(html.join(''));  
                }  
          }  
 });  
}
</script> 

Controller层

      response.setContentType("application/json");  
	         response.setCharacterEncoding("utf-8");  
	         PrintWriter writer = response.getWriter();  
	         net.sf.json.JSONArray array = JSONArray.fromObject(new ArrayList());//The list that contains actual data,use a new arrayList instead here
             writer.append(array.toString());  
	         return null;  

第二种:

View层

<select id="funcNum" name="funcNum"></select>
<script>
$(function(){
   $.ajax({ 
      type: 'POST', 
      url:url;//your actual url
      dataType: 'json', 
      cache: false,
      async:false,
      success:function(data) { 
          $('#funcNum').get(0).options.length = 0; 
          $('#funcNum').append('<option value="">Pls Select</option>');
            $.each(data, function(i, obj) {
                var option = $('<option />');
                option.val(obj.id);
                option.text(obj.desc);
                $('#funcNum').append(option);
              });
        },         
        error: function() { 
            alert("Error while getting func num results"); 
        }
    });
});
</script>

Controller层

             response.setContentType("application/json");  
	         response.setCharacterEncoding("utf-8");  
	         PrintWriter writer = response.getWriter();  
	         net.sf.json.JSONArray array = JSONArray.fromObject(new ArrayList());//The list that contains actual data,use a new arrayList instead here
             writer.append(array.toString());  
	         return null;

  

 Note:

   As JSON format supports the following data types . 

1

Number

double- precision floating-point format in JavaScript

2

String

double-quoted Unicode with backslash escaping

3

Boolean

true or false

4

Array

an ordered sequence of values

5

Value

it can be a string, a number, true or false, null etc

6

Object

an unordered collection of key:value pairs

7

Whitespace

can be used between any pair of tokens

8

null

empty

  for date value, need add config to fromObject, core code:

  

 JsonConfig config = new JsonConfig();
	    	config.registerJsonBeanProcessor(java.sql.Date.class, new JsDateJsonBeanProcessor());
	    	JSONArray array = JSONArray.fromObject(object, config);

  

  

转载于:https://www.cnblogs.com/uu5666/p/6639829.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值