如题,直接上代码,实战学习。
复制代码 代码如下:
jquery实现动态加载select下拉选项
下拉框
 -------
以上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下拉框的显示值和真值,套个标签回发就可以了。
   
 
   