php 动态加载 <select>,jquery动态加载select下拉框示例代码

这篇博客介绍了如何利用jQuery的ajax方法动态加载select下拉框的选项。通过发送请求到后台,根据参数获取相应的数据,然后将数据拼接成HTML插入到下拉框中。示例代码展示了从jsp页面获取数据并处理的过程,包括SQL查询和结果的返回。
摘要由CSDN通过智能技术生成

如题,直接上代码,实战学习。

jquery实现动态加载select下拉选项

function init(){

makemoduleSelect();

}

//加载模板下拉框选项

function makemoduleSelect(){

$.ajax({

url : 'indexStatisticsAction_getSelect.jsp',

data: { page:'clientindexStatistics.jsp',method:'get_modtitlecode'},

success : function(result){

$("#makemodule").append(result);

}

});

}

下拉框

-------

以上html被加载时,由于body标签里面设置了onload属性,则其对应的javascript函数会运行,最后到 function makemoduleSelect(),再来看看这个函数:

url属性,类似于AJAX的跳转url,这里我用了同一个路径下的jsp页面(indexStatisticsAction_getSelect.jsp),下面会再展示;

data属性,将作为请求的参数,由request获取;

success属性,表示该jquery的ajax请求成功返回后将执行的代码,这里的$("#makemodule")指的是下拉框。

下面是ajax请求的url所对应的jsp,这里删掉了JDBC相关的包,自行引入嘛,JDBC的就不多说了,根据需要把业务逻辑码出来吧。

String userId = (String) session.getAttribute("userid");

String method = request.getParameter("method");

String fromPage = request.getParameter("page");

String sql1 = "select modtitlename,modtitlecode from makemodule where userid = '?userId?' and modulename_en='?modulename_en?' group by modtitlename ";

System.out.println("---getting select_option from:"+fromPage+"----" + new Date());

//获取模板选项

if(method.equals("get_modtitlecode")){

String sql = sql1.replace("?userId?",userId);

if(fromPage.equals("acindexStatistics.jsp")){

sql = sql.replace("?modulename_en?","acsta");

}else if(fromPage.equals("apindexStatistics.jsp")){

sql = sql.replace("?modulename_en?","apsta");

}else if(fromPage.equals("clientindexStatistics.jsp")){

sql = sql.replace("?modulename_en?","terminalsta");

}

System.out.println(sql);

StringBuffer rsOption = new StringBuffer();

Db db = new Db();

try {

db.prepareQuery();

ResultSet rs = db.executeQuery(sql);

while (rs!=null && rs.next()) {

rsOption.append(""+StringOperator.ISO2GB(rs.getString("modtitlename"))+"");

}

rs.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

db.endQuery();

}

PrintWriter pout = response.getWriter();

pout.write(rsOption.toString());

pout.flush();

pout.close();

}

%>

上面的sql语句将取出两个值,分别为select下拉框的显示值和真值,套个标签回发就可以了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值