java下拉列表 动态_[Java教程]jQuery动态加载select下拉列表

[Java教程]jQuery动态加载select下拉列表

0 2017-11-20 12:00:14

说明:以前使用的select下拉列表都是静态的,select 的option数据都是写死的。现在项目中的select需要根据不同的场景使用不同的数据,解决方式就是动态加载option数据。

下面步骤介绍了如何从数据库获取数据,并动态的在前端显示。

步骤一:jsp页面静态的select:

选择A

选择B

选择C

注意:1.静态的select在某些场景下使用是没有问题的。但是在产品不同的需求时,动态select更能胜任其多样性。

2.select有多种写法,这里是最简单的。

步骤二:jQuery通过ajax请求获取动态的数据,并在jsp页面显示。

function IninDepart(){

$("#selectSM").remove();//清空select列表数据

var state = 1;

$.ajax({

type : "POST",

url : "/getItemDepartList.do",

dataType : "JSON",

data : {},

success : function(msg)

{

$("#selectSM").prepend("请选择");//添加第一个option值

for (var i = 0; i < msg.rows.length; i++) {

//如果在select中传递其他参数,可以在option 的value属性中添加参数

//$("#selectSM").append(""+msg.rows[i]+"");

$("#selectSM").append(""+msg.rows[i]+"");

}

},error:function(){

alertLayer("获取数据失败","error");

}

});

}

注意:这里使用的是jQuery、ajax,其他方式也可以实现。

步骤三:后台数据的处理。

public JSONObject getItemDepartList(HttpServletRequest request) throws Exception{

//查询select数据

List> list = appServices.getAppList();

System.out.println("list::::::::" + list);

//获取数据存放到数组

String[] depart = null;

for (Map map : list) {

for (String k : map.keySet()) {

depart = ((String) map.get(k)).split(",");

System.out.println("depart::::::::" + depart);

}

}

//去除数组中重复数据,存放到list

List strList = new ArrayList();

for (int i=0; i

if(!strList.contains(depart[i])) {

strList.add(depart[i]);

}

}

System.out.println("strList::::::::" + strList);

jsonObject.put("rows", strList);

return jsonObject;

}

注意:由于后台返回数据的问题,需要对数据进行截取并去除重复数据。如果没有这个需求,可以直接向前端返回一个数组或list即可。

下面是不同数据的控制台输出:

list::::::::[{service_depart=A,B,C,D,E,A,C,D,D,E}]

depart::::::::[Ljava.lang.String;@41fc702b

strList::::::::[A, B, C, D, E]

步骤四:sql查询语句,这里是把不同字段的值进行拼接,返回到controller中的list中。

SELECT GROUP_CONCAT(DISTINCT CONCAT(字段名称)) AS 字段名称或别名

FROM 表名

步骤五:这里捎带说一下,如何获取select下拉列表选择的值

//select 的change事件用了获取下拉列表的值

$(document).on("change","#selectSM",function(){

//获取选择的值

var condition = $(this).val();

//其他操作

});

总结:不同的需求对应着不同的数据处理和显示方式。以及不同的代码实现方式这里介绍我自己的观点。 本文网址:http://www.shaoqun.com/a/332177.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

jquery

0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值