传统的HTML页面中连动下拉框采用了两种方法:1)直接将下拉框中的内容hardcode于html的javascript中,调用javascript函数循环写入下拉框中。这种方法不适用于下拉框内容经常改变的情况。因为数据源和javascript程序写死在同一页面。
List上海江西==所有地区==2)javascript 直接读取数据库,取数据库中的记录写入javascript中,然后和第一种方法一样,调用javascript函数循环写入下拉框中。此方法将数据源与javascript分开,但,公开数据库的连接,从安全角度说,没有多少实用价值。
我的方法是将下拉框中的数据放在XML文件中,用javascript读XML文件,取得下拉框中的内容。
HTML 文件如下:<!-- myfile.html -->
function deleteOption() { }
function setsubclass(main){var is_selected="N";if (document.frm.subclass.options.length!=0) {for (i=0;i<=document.frm.subclass.options.length;i++)document.frm.subclass.options[i]=null ;}//重复才有效if (document.frm.subclass.options.length!=0) {for (i=0;i<=document.frm.subclass.options.length;i++){document.frm.subclass.options[i]=null ;document.frm.subclass.options.remove(i);}}
for (i=0;i
var values="";var lables="";
if (is_selected=="Y") return;labels=xmlObj.childNodes(i).getAttribute("display_name");values=xmlObj.childNodes(i).text;//alert(labels+ " | "+main);if (labels==main){
is_selected="Y";
for (j=0;j
}
}
}}
在HTML中调用XML数据
类型子类
account.xml 如下:
<?xml version="1.0" encoding="GB2312"?>Not Availabledangdang1dangdang2dangdang3dangdang4dangdang5dangdang6zhuce_user1zhuce_user2tongxun
此方法将数据源与javascript程序分开,适合经常变化的数据源。xmlDoc.load中可以直接调用URL参数,读取远程XML,实现松耦合。以上应用在IE6.0中通过。不足之处是在去除下拉框列表内容时需要重复执行删除操作,否则会有明显的bug.希望有读者能给指正。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-950332/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752019/viewspace-950332/