石头一块 大家多指教!1 <select name='XXX' onchange="GETXXX()"> 列表触发JS函数2 <script> function GETXXX(){ var value = document.all.xxx.value;//JS里面取页面上的数据 var url = "aaa.do?feeCategory="+value; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ req.open("GET",url, true); req.onreadystatechange = huidiao; req.send(null); } }function huidiao() { var selValue = ""; if (req.readyState == 4) { if (req.status == 200) { var xSel=req.responseXML.getElementsByTagName('select'); var select_root=document.all.xxx; select_root.options.length=0;
ajax教程
http://book.csdn.net/bookfiles/11/
可以很好的解决你的问题
请问楼上的为什么要是or呢dwr是实现 ajax的框架在实现下拉菜单功能中确实很方便DWRUtil.setOptions(id,array);
DWRUtil.setValue(id,value)去试试吧
用DWR确实会方便一些,去网站上面找个例子看看就可以了的.
function GETXXX(){
var value = document.all.xxx.value;//JS里面取页面上的数据
var url = "aaa.do?feeCategory="+value;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
}else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if(req){
req.open("GET",url, true);
req.onreadystatechange = huidiao;
req.send(null);
}
}function huidiao()
{
var selValue = "";
if (req.readyState == 4) {
if (req.status == 200) {
var xSel=req.responseXML.getElementsByTagName('select');
var select_root=document.all.xxx;
select_root.options.length=0;
//解析 生成对应的下拉列表
for(var i=0;i<xSel.length;i++)
{
var xValue=xSel[i].childNodes[0].firstChild.nodeValue;
var xText=xSel[i].childNodes[1].firstChild.nodeValue;
if(xValue=="-1")xValue="";
if(xValue != "" && selValue == "")selValue = xValue;
var option=new Option(xText,xValue);
try{
select_root.add(option);
}catch(e){
}
}
select_root.value = selValue;
}
}
} </script>对应的程序中以这中格式返回生成数据StringBuffer sb = new StringBuffer(); sb.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
sb.append("<selects>");
if(optional.equals("")){
sb.append("<select><value>-1</value><text>请选择</text></select>");
}
for( int i=0; i<lst.size(); i++ ){
fc = (DTO)lst.get(i);
sb.append("<select>");
sb.append("<value>"+fc.getCode()+"</value>");
sb.append("<text>"+fc.getName()+"</text>");
sb.append("</select>");
}
sb.append("</selects>"); 简单的思路 不完整的代码 希望可以参考 AJAX实现!