哪位高手有AJAX三联动下拉框的例子,JAVA的,急盼!!!
解决方案 »
- 求推荐几本JSP入门的书籍
- apache反向代理问题
- 在线用户的显示功能是怎么设计的?
- 为什么我的程序火狐中能正常显示,却在IE和遨游中显示不了呢,报错,请问这是什么原因。
- 请教response.encodeURL 与 response.encodeRedirectURL的区别
- 各位进来看看,好问题???????????????????高分
- JSP初学者求助,在线等待...答对了还会加分!!!!
- sun公司的技术
- 各位大侠快帮我看看下面的servlet出什么问题了
- 关于前后端精度的问题,希望能得到各位大神的指教
- 出现标志符不能识别问题
- 求一个javascript的颜色选择器,能有RGB返回值!!!!!
{
this.__name = null; this.showResponse = function(originalRequest)
{ var xml = originalRequest.responseXML;
var results = xml.getElementsByTagName("entry"); var objSelect = $(__name); // 清空列表
while(objSelect.childNodes.length>0)
{
objSelect.removeChild(objSelect.childNodes[0]);
} // 赋值
if(results && results.length>0)
{
for(var i=0;i<results.length;i++)
{
var oOption = document.createElement("option");
oOption.text = results[i].getElementsByTagName("label")[0].text;
oOption.value = results[i].getElementsByTagName("value")[0].text;
objSelect.options[i]=oOption;
}
}
} this.refreshList=function()
{
__url = url;
__name = name; var myAjax = new Ajax.Request(
__url,
{method: 'post', parameters: __pars,asynchronous:false,onComplete:this.showResponse}
);
}
}使用方法:需要引入prototype1.5.1的js文件(1.4.0有bug)
调用方法
var ajax = new AjaxListEntry("http://xxx.com/entry.xml","myselect");
ajax.refreshList();其中myselect是你select的name属性。
<result>
<entry>
<label>北京</label>
<value>1</value>
</entry>
<entry>
<label>上海</label>
<value>2</value>
</entry>
</result>
调用上面的方法,将把myselect的下拉列表更新为北京,上海。至于服务端怎么写,随便你。
客户端的联动事件,你也可以自由添加。
{
this.__name = null; this.showResponse = function(originalRequest)
{ var xml = originalRequest.responseXML;
var results = xml.getElementsByTagName("entry"); var objSelect = $(__name); // 清空列表
while(objSelect.childNodes.length>0)
{
objSelect.removeChild(objSelect.childNodes[0]);
} // 赋值
if(results && results.length>0)
{
for(var i=0;i<results.length;i++)
{
var oOption = document.createElement("option");
oOption.text = results[i].getElementsByTagName("label")[0].text;
oOption.value = results[i].getElementsByTagName("value")[0].text;
objSelect.options[i]=oOption;
}
}
} this.refreshList=function()
{
__url = url;
__name = name; var myAjax = new Ajax.Request(
__url,
{method: 'post', parameters: __pars,asynchronous:false,onComplete:this.showResponse}
);
}
}使用方法:需要引入prototype1.5.1的js文件(1.4.0有bug)
调用方法
var ajax = new AjaxListEntry("http://xxx.com/entry.xml","myselect");
ajax.refreshList();其中myselect是你select的name属性。good!
其实都很简单,以前都是直接调用prototype,后来有点烦了,就干脆做了一个。
url就写一个固定的xml
就是例子。
Ajax实现三级联动下拉框
http://www.blogjava.net/rickhunter/articles/62571.html
{
this.__name = null;
this.__url = null ; // 缺这个