java中ajax传值问题

[复制链接]
查看11 | 回复5 | 2011-1-5 10:30:51 | 显示全部楼层 |阅读模式
在Java中,我想把ajax里的值取出来放在我的下拉框里,因为获得的值是个list,可以放的,具体代码如下:
jsp页面中:
function selObj(){
var ss = document.getElementById("ss").options.value;
$.ajax({
url: '/getMode.do',
type: 'POST',
data: 'ss=' + ss,
dataType: 'text',
timeout: 5000,
error: function(){

alert('网络异常!');
},
success: function(text){

if(text){

alert("成功!");
//处理

}
}
action里面:
String ss = request.getParameter("ss");
response.setContentType("text");
PrintWriter out = response.getWriter();
StringBuffer str = new StringBuffer();
if(ss != null && !ss.equals("")){
if(ss=="dd"){
String hql1 = "省略";
List es = xbo.findByHql(hql1);
}else{
String hql2 = "省略";
List gs = xbo.findByHql(hql2);
}
out.flush();
out.close();
return null;
问题是:
action中,es和gs都能查到值,我要在jsp中取到es和gs,显示在一个下拉框列表里;
在页面中,两个下拉框
aa
bb
cc
dd

当第一个下拉框显示为dd时,sel2的值为es,否则全部为gs;就在我的这个ajax上面做,有处理的地方详细点,谢谢恩!
如果有其它方法的也可以提出来,一样采纳,但需要是ajax;麻烦帮帮忙
我知道你的意思,我要的是怎么做,不是你的想法,思路,这个我已经告诉你了。

回复

使用道具 举报

千问 | 2011-1-5 10:30:51 | 显示全部楼层
一个简单的,一个复杂点的。先说简单的,在客户端JSP页面上放两个select,一个的值是es,一个是gs,都隐藏起来,当sel1的click事件被触发时,判断选中的option,如果==dd,则显示es的Select,否则显示gs的Select。这样减少了同服务端的通讯。复杂的,就是在sel1的click中做一次AJAX请求,将option传回服务端,服务端根据option的值来创建sel2的option,在返回客户端更新sel2。
回复

使用道具 举报

千问 | 2011-1-5 10:30:51 | 显示全部楼层
先将后台得到的list转换成json对象,然后this.getHttpServletResponse().getWriter().write(jsonData.toString())
回复

使用道具 举报

千问 | 2011-1-5 10:30:51 | 显示全部楼层
在前台的时候把你所触发的id传出去。在action的时候对传过来的值进行判断,如果值是sel2的值为es,否则全部为gs;
回复

使用道具 举报

千问 | 2011-1-5 10:30:51 | 显示全部楼层
先将后台得到的list转换成json对象,然后this.getHttpServletResponse().getWriter().write(jsonData.toString());传递到前台,再用js处理
回复

使用道具 举报

千问 | 2011-1-5 10:30:51 | 显示全部楼层
把List拼接成json格式,然后写出来 就是那个out。write(),在页面在处理得到的json
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行