怎么做一个级联的下拉框,其第一第二级的选项都是jsp动态生成的? 跟服务端交换数据1.iframe2.xmlhttp3.#download4.js_id.src 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是用jsp生成的就不怎么算动态的了。看看:http://www.csdn.net/expert/topic/1073/1073061.xml?temp=.8811457 我主要不明白的就是javascript如何从jsp获得用于显示的数组,上面http://www.csdn.net/expert/topic/1073/1073061.xml?temp=.8811457中说的不太明白,如果这样似乎不行:<% Vector v;//存放待显示的选项%><script> var array = <%=v%>;</script> http://www.csdn.net/expert/topic/874/874777.xml?temp=.9480554http://www.csdn.net/expert/topic/204/204788.xml?temp=.6757929 考虑过如下两种方法:1. 页面初始化时将所有选项由jsp传给javascript2. 每选一个选项,由onchange事件刷新页面,传递参数并生成相应的下级select框这两种方法具体都不知如何着手,请高手指教。谢谢。 <script language="JavaScript" type="text/JavaScript"> var po_detail_shows = new Array(); var po_detail_values = new Array(); var tpo_detail_shows = new Array(); var tpo_detail_values = new Array(); <% config dmdbs=new config(); dmdbs.opendb(); config tempdbs=new config(); tempdbs.opendb(); config xjdb=new config(); xjdb.opendb(); ResultSet dmrss=dmdbs.executeQuery("select * from xzqh where cd_code like '__0000' order by cd_code"); //areatemp.setAreas(); int indexs=0; while(dmrss.next()){ %> po_detail_shows[<%=indexs%>]=new Array(); po_detail_values[<%=indexs%>]=new Array(); tpo_detail_shows[<%=indexs%>] = new Array(); tpo_detail_values[<%=indexs%>] = new Array(); <% ResultSet temprss=tempdbs.executeQuery("select * from xzqh where cd_code like '"+dmrss.getString("cd_code").substring(0,2)+"__00' and cd_code<>'"+dmrss.getString("cd_code").substring(0,2)+"0000' order by cd_code"); int secondindexs=1; %> po_detail_shows[<%=indexs%>][0]='请选择所属地市'; po_detail_values[<%=indexs%>][0]=''; <% while(temprss.next()){ //policeitem childitem=(policeitem) prolicelist.getPolices(secondindex-1); %> po_detail_shows[<%=indexs%>][<%=secondindexs%>]='<%=temprss.getString("cd_china")%>'; po_detail_values[<%=indexs%>][<%=secondindexs%>]='<%=temprss.getString("cd_code")%>'; tpo_detail_shows[<%=indexs%>][<%=secondindexs%>] = new Array(); tpo_detail_values[<%=indexs%>][<%=secondindexs%>] = new Array(); <% ResultSet xjrs=xjdb.executeQuery("select * from xzqh where cd_code like '"+temprss.getString("cd_code").substring(0,4)+"__' order by cd_code"); int sanindex=1; %> tpo_detail_shows[<%=indexs%>][<%=secondindexs%>][0]='请选择所属地市'; tpo_detail_values[<%=indexs%>][<%=secondindexs%>][0]=''; <% while(xjrs.next()){ %> tpo_detail_shows[<%=indexs%>][<%=secondindexs%>][<%=sanindex%>]='<%=xjrs.getString("cd_china")%>'; tpo_detail_values[<%=indexs%>][<%=secondindexs%>][<%=sanindex%>]='<%=xjrs.getString("cd_code")%>'; <% sanindex++; } xjrs.close(); %> <%secondindexs++; } temprss.close(); indexs++; } xjdb.closedb(); tempdbs.closedb(); dmdbs.closedb(); %>function Do_po_Change(form){ var num,n, i, m; num= GetObjID('sheng'); m = document.form1.elements[num].selectedIndex-1; n = document.form1.elements[num + 1].length; //if(document.form1.area_id.value==0){ /// document.all("px").style.display="none"; // } // else{ // document.all("px").style.display=""; // } for(i = n - 1; i >= 0; i--) document.form1.elements[num + 1].options[i] = null; if (m>=0) { for(i = 0; i < po_detail_values[m].length; i++){ NewOptionName = new Option(po_detail_shows[m][i], po_detail_values[m][i]); document.form1.elements[num + 1].options[i] = NewOptionName; } document.form1.elements[num + 1].options[0].selected = true; }}function GetObjID(ObjName){ for (var ObjID=0; ObjID < window.form1.elements.length; ObjID++) if ( window.form1.elements[ObjID].name == ObjName ) { return(ObjID); break; } return(-1);}</script> 数据库的结果和连接数据库的bean,我就不多说了,这是一个三级级联的下拉框,你自己结合自己的数据库方式整理吧 如何跨域获取iframe网页源码? ● 十分头疼,求助:JavaScript str.match总是无法提取出来,试了很多遍 ● JS代码延迟执行 哪位大哥给小弟一个不错的JavaScript调试工具啊,最好带上简要的使用说明!谢谢啦! 一个关于js的问题 小问题,不难,一个文onfocus时的效果,怎么做到的? 同窗口中的2个页面之间的信息传递 这个功能怎么实现 如何实现CHINA-PUB上的书评展开效果 问题?如何时实更改连接? 不知道在location.href("meizz.asp")中能否传递一个参数给打开的网页?? 提交表单时,判断某个按钮是否按下。
Vector v;//存放待显示的选项
%>
<script>
var array = <%=v%>;
</script>
http://www.csdn.net/expert/topic/204/204788.xml?temp=.6757929
1. 页面初始化时将所有选项由jsp传给javascript
2. 每选一个选项,由onchange事件刷新页面,传递参数并生成相应的下级select框这两种方法具体都不知如何着手,请高手指教。谢谢。
var po_detail_shows = new Array();
var po_detail_values = new Array(); var tpo_detail_shows = new Array();
var tpo_detail_values = new Array(); <%
config dmdbs=new config();
dmdbs.opendb(); config tempdbs=new config();
tempdbs.opendb(); config xjdb=new config();
xjdb.opendb(); ResultSet dmrss=dmdbs.executeQuery("select * from xzqh where cd_code like '__0000' order by cd_code");
//areatemp.setAreas();
int indexs=0;
while(dmrss.next()){ %>
po_detail_shows[<%=indexs%>]=new Array();
po_detail_values[<%=indexs%>]=new Array(); tpo_detail_shows[<%=indexs%>] = new Array();
tpo_detail_values[<%=indexs%>] = new Array(); <% ResultSet temprss=tempdbs.executeQuery("select * from xzqh where cd_code like '"+dmrss.getString("cd_code").substring(0,2)+"__00' and cd_code<>'"+dmrss.getString("cd_code").substring(0,2)+"0000' order by cd_code"); int secondindexs=1;
%>
po_detail_shows[<%=indexs%>][0]='请选择所属地市';
po_detail_values[<%=indexs%>][0]='';
<%
while(temprss.next()){
//policeitem childitem=(policeitem) prolicelist.getPolices(secondindex-1);
%>
po_detail_shows[<%=indexs%>][<%=secondindexs%>]='<%=temprss.getString("cd_china")%>';
po_detail_values[<%=indexs%>][<%=secondindexs%>]='<%=temprss.getString("cd_code")%>'; tpo_detail_shows[<%=indexs%>][<%=secondindexs%>] = new Array();
tpo_detail_values[<%=indexs%>][<%=secondindexs%>] = new Array(); <%
ResultSet xjrs=xjdb.executeQuery("select * from xzqh where cd_code like '"+temprss.getString("cd_code").substring(0,4)+"__' order by cd_code");
int sanindex=1;
%>
tpo_detail_shows[<%=indexs%>][<%=secondindexs%>][0]='请选择所属地市';
tpo_detail_values[<%=indexs%>][<%=secondindexs%>][0]=''; <%
while(xjrs.next()){
%>
tpo_detail_shows[<%=indexs%>][<%=secondindexs%>][<%=sanindex%>]='<%=xjrs.getString("cd_china")%>';
tpo_detail_values[<%=indexs%>][<%=secondindexs%>][<%=sanindex%>]='<%=xjrs.getString("cd_code")%>';
<%
sanindex++;
}
xjrs.close();
%>
<%secondindexs++;
}
temprss.close(); indexs++;
}
xjdb.closedb();
tempdbs.closedb();
dmdbs.closedb();
%>function Do_po_Change(form){ var num,n, i, m;
num= GetObjID('sheng');
m = document.form1.elements[num].selectedIndex-1;
n = document.form1.elements[num + 1].length; //if(document.form1.area_id.value==0){
/// document.all("px").style.display="none";
// }
// else{
// document.all("px").style.display="";
// } for(i = n - 1; i >= 0; i--)
document.form1.elements[num + 1].options[i] = null; if (m>=0) {
for(i = 0; i < po_detail_values[m].length; i++){
NewOptionName = new Option(po_detail_shows[m][i], po_detail_values[m][i]);
document.form1.elements[num + 1].options[i] = NewOptionName;
}
document.form1.elements[num + 1].options[0].selected = true;
}
}
function GetObjID(ObjName)
{
for (var ObjID=0; ObjID < window.form1.elements.length; ObjID++)
if ( window.form1.elements[ObjID].name == ObjName )
{ return(ObjID);
break;
}
return(-1);
}
</script>