1、在跳转到jsp之前,查询出地点那个选择框的数据
创新互联主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务建华,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
2、页面使用dwr插件,每次选择后查询国家和州
就ok了
看了你的代码,你的数据源,也就是下拉框的值应该不是这段代码里拿的,但你JS肯定是取到了。第1个JS中根据bindData去构造出第1个下拉框。其中判断了i是不是0,这里我没看懂,是不是你自己修改了代码,因为if(i ==0)的else里两段代码一样的。(我的理解是如果为0,插入1条空选项或‘全部’选项)。循环结束后,第1个方法设置了第0位的值为默认的选项,即表示第1个下拉框默认选成第1项,再后来调用下面的JS去联动构造第2个下拉框。
第2个下拉框首先接收参数,然后先清空所有的option,然后根据上面方法传下来的参数ddl_data,去构造第2个下拉框,道理同1.
看了下keywords的意思,大概是你的数据源把所有数据都取得了,这里根据keywords去筛选。。。这还不是传统意义的联动到后台取数据再重新构造。 而是笼统的取得所有数据,加上keywors去判断要不要把对应的值塞进下拉框内
还有事这个地方报错么?越看这段越像只是在初始化,难道初始化的时候就报错,还不是下拉改变时候才报?
那就给你说下二级联动吧 ,三级道理也是一样的。
根据第一级下拉框,点击事件后,将id传递给服务器,服务器根据该id,经过数据库查询,获得二级下拉框的内容,这里的内容你可以用xml封装,或者是直接写成dom格式:如dom格式
服务端:
PrintWriter writer = response.getWriter();
writer.println("select");
while(rs.next()){
writer.println("option"+rs.getString("xxx")+"/option");
writer.flush();
}
writer.println("/select");
writer.close();
客户端:
var selectStr=xmlHttp.responseText;//二集菜单的内容
找个元素,将二级菜单项利用innerHTML插入到网页中
document.getElementById("xx").innerHTML=selectStr;
不知道这样说你明白不?
实现第三级,只需要在第二个下拉框里触发事件后,将id传递给服务器,在经过处理,将结果给第三级下拉框
后台能够打印出来,说明没有问题。问题应在前边的接收端。看代码返回的是json string,对于前端来说应该仅仅是个string,而不是JS对象。
记得JQuery,发送request的时候有参数,可以自动把返回的json string变成js的object的。