</select>
<script>
//这里用到了JQuery
$.ajax({
type:"post", //post请求
data: {} // 后台请求数据
success:function(data){
//请求成功之后填充数据
//可以把data看成一个数组
for(var i =0i<data.lengthi++){
$(".dosm").append("<option>" + data[i]+ "</option>")
}
}
})
</script>
首先引入2个dwr的js文件<script src='${pageContext.request.contextPath}/dwr/engine.js'></script>
<script src='${pageContext.request.contextPath}/dwr/util.js'></script>
引入的时候要注意:路径是项目路径下+web.xml文件的配置路径,比如说:在web.xml文件中这样配置
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
所有在引入的js路径中加入了dwr这个目录
jsp页面加入下面2个方法
function first(){
DWRU.getExamTitle(row3)
}
function row3(data){
DWRUtil.addOptions("title",data)
}
这样做的前提就是getExamTitle要返回一个java的Map对象
该Map的key将会被设置到jsp中<option>的value属性,Map的value降被设置到jsp中<option>的text属性
比如说:
getExamTitle方法:
Map m = new HashMap()
m.put("v1","t1")
m.put("v2","t2")
return m;
这时候jsp页面上调用first()函数之后,就会出现下面的效果:
<select id="title" name="title" onchange="examTitle()">
<option value="v1">t1</option>
<option value="v2">t2</option>
</select>
PS:
在返回的Map对象中,为了在页面上的下拉菜单列表信息出现的顺序和往map中添加元素的顺序一样,可以试用LinkedHashMap
====================
DWRUtil.removeAllOptions("title")
该语句可以删除所有title的下拉列表
DWRUtil.addOptions("title",{'':''})
该语句可以想title下拉列表中添加元素,分号前面的字符串是value值,分号后面的字符串是text值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)