Ajax特效 动态树形列表 之二
技术要点
在基本原理的介绍中,了解到通过在父节点内动态创建子节点,并利用样式表缩进完成树形列表的基本框架。除了这一点外,还有下面一些问题需要考虑。
1.将父节点所有的子节点放入一个容器中
基本原理页面中仅包含了创建子节点的功能,不可以将创建好的节点再进行关闭操作。实际应用中菜单总是包含打开和关闭两种操作。为了方便进行关闭操作,将子节点放入一个容器中,在关闭时只需要设置容器的显示属性即可。
2.节点开关的具体实现
每个父节点的所有子节点放入容器中后,在单击父节点时判断子节点容器的显示状态。如果当前为打开状态,则将其关闭,反之则将其打开。具体使用的方法是调用节点的style.display属性进行判断,关闭时的状态为none,非none时表示打开。为了清晰地表示父节点的打开或关闭状态,使用“+”和“-”字符进行标识。
3.节点分为目录节点和非目录节点
目录节点下可包含子节点,非目录节点也可称为叶子节点,即该节点不包含子节点。在本例中对这两种节点进行区别对待。单击目录节点将对其子节点进行展开或关闭操作。单击非目录节点将链接到新的页面(目前暂时将新页面地址弹出,在实际应用中可进行修改)。
相关文档:
今天动态添加option到selectl时,出现了添加后option为空白,个数却正确的情况。代码如下:
for(var i = 0; i < results.length; i++) {
oOption = document.createElement("OPTION");
oOption.value=results[i].child ......
本实例使用名为faq的数据库表,包含的数据如图1.2所示。具体的创建数据表语句如下:
CREATE TABLE 'faq' (
'id' int(11) NOT NULL auto_increment,
'faq' varchar(255) NOT NULL,
'detail' varchar(255) NOT NULL,
PRIMARY KEY ('id')
)
图1.2 表faq包含的数据
主 ......
服务器端响应文件read_faq.jsp
服务器响应文件根据用户传入的faqId参数,从数据库中查找对应的FAQ详细信息。详细信息可以为包含HTML标记的内容。查询完毕后将结果返回。
<%@ page contentType="text/plain; charset=UTF-8"%>
<%@ page language="java"%>
<%@ page import="java.sql.*,ajax.db.D ......
数据库设计
本实例使用名为postalcode的数据库表,包含的部分数据如图1.4所示。具体的创建数据表语句如下:
CREATE TABLE 'postalcode' (
'id' int(11) NOT NULL auto_increment,
'area' varchar(255) NOT NULL,
'city' varchar(255) NOT NULL,
'code' varchar(6) NOT NULL,
&n ......