首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

ajax jsp

2013-08-01 
ajax jsp求助根据所在省份选择城市,利用ajax实现不刷新查询,写出了如下代码,求指教success改怎么写html代

ajax jsp求助
根据所在省份选择城市,利用ajax实现不刷新查询,写出了如下代码,求指教success改怎么写
html代码
所在省份:<s:select list="#provinceBean.selectAll()" name="province" listKey="id" listValue="name" id="province"></s:select><p>
所在城市:
js代码
var p = $('#province').val();
$('#province').change(function(){
p = $('#province').val();
$.ajax({
type:"post",
url:"findCities.jsp",
data:"id="+p,
dataType:"html",
success:{
}
});
});
jsp代码
int id = Integer.parseInt(request.getParameter("id"));
    ResultSet rs = stmt.executeQuery("select * from city where city.province="+id);
    out.print("<select>");
    while(rs.next()){
    out.print("<option value='"+rs.getInt(1)+"'>"+rs.getString(2)+"</option>");
    }
    out.print("</select>"); Ajax JSP HTML select URL
[解决办法]
你这jsp写的不对吧,返回的应该是一个字符串,前台接受字符串并处理之后再显示在前台页面当中。
你这直接输出了一个选项框,那么这个选项框显示在前台中的哪里呢?
[解决办法]
比如“所在城市:”这个页面元素的id为"citylabel",那么可以:
success: function (result){
    $("#citylabel").after(result);     
} 但是怎么样清除已有的下拉框元素我不太清除

不过我一般的做法是将<select></select>写在页面上,如你这里:所在城市:<select id="city"></select>
然后在业务处理时候,就不再拼接select:
int id = Integer.parseInt(request.getParameter("id"));
    ResultSet rs = stmt.executeQuery("select * from city where city.province="+id);
    while(rs.next()){
     out.print("<option value='"+rs.getInt(1)+"'>"+rs.getString(2)+"</option>");
    }
然后在页面上:
success: function (result){
    $("#city").clear();
    $("#city").append(result);     
}


[解决办法]
StringBuffer selectJSON = new StringBuffer("[");
     while(rs.next()){
     selectJSON .append("{'cityCode':") .append(rs.getInt(1)). .append("', 'cityName':'"). .append(rs.getString(2)) .append("'}");
     }

selectJSON .append("]");
out.print(selectHTML );

$.ajax({
type:"post",
url:"findCities.jsp",
data:"id="+p,
dataType:"json",
success:function(data){
     var citys = $("<select>");
     if (data){
       for (var i = 0 ; i < data.length; i++){
              citys.html("<option value = '"+data[i].cityCode+"'>"+data[i].cityName + "</option");
}
  $('#province').after(citys);
    }


}
});

如果操作json ,最好下一个json的jar包, json-lib-2.x-jdk15.jar


[解决办法]


$.ajax({
type:"post",
url:"findCities.jsp",
data:"id="+p,
dataType:"json",
success:function(data)
{
     alert(data);//输出返回字符串,再做解析。
}
});

热点排行