本资源参考:http://zmx.javaeye.com/blog/648733
怎样才能按期待的效果填充到下拉框中
这是一个Servlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
//获取第一个下拉框中的值
String firstValue = request.getParameter("keyword");
String userName = URLDecoder.decode(firstValue, "GBK");
if (firstValue.equals("BWM")) {
System.out.println(firstValue);
List secondList = new ArrayList();
secondList.add("a");
secondList.add("b");
secondList.add("c");
JSONArray json = new JSONArray();
//错误json.put(secondList);
out.println(json.toString());
}
修改如下:
json.put(secondList);
有问题 JSONArray 没有put 方法吧;
JSONArray json = null;
List list = new ArrayList();
list.add("li录播");
list.add("oyyy");
json = JSONArray.fromObject(list);
out.print(json);
再在回调函数中 通过遍历 json对象就可以了
}
这是js代码
$(document).ready(function(){
//找到三个下拉框
var carnameSelect = $(".carname").children("select");
var cartypeSelect = $(".cartype").children("select");
var wheelSelect = $(".wheeltype").children("select");
//给三个下拉框注册事件
carnameSelect.change(function(){
//1、找到下拉框的值
var varnameValue = $(this).val();
//2、如果下拉框所选值不为空,则将该值传送给服务器
if(varnameValue != "")
{
$.post("ChainServlet",{keyword:varnameValue,type:"top"},function(data){
if(data.length !=0)
{
//解析返回的汽车类型数据,并填充到汽车类型的下拉框中
//-----------------------------问题就出在这里啦,获取的data显示的值是 a,b,c的一个字符串
for (var i = 0; i < data.length; i++) {
$("<option value='" + data[i] + "'>" + data[i] + "</option>").appendTo(cartypeSelect);
}
//让第二个下拉框显示
cartypeSelect.parent().show();
//让第一个后面的指示图片显示出来
carnameSelect.next().hide();
}
else
{
alert("kong");
}
},"json");
}else
{
//如果下拉框所选的值为空,则要隐藏第二个下拉框的span要隐藏以来,
cartypeSelect.parent().hide();
//第一个下拉框后面指示的图片也要隐藏起来
cartypeSelect.next().hide();