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);//输出返回字符串,再做解析。
}
});