数据库中有两张表:大分类BigType表和小分类SmallType表.
BigType表中的字段为: ID,BigName;
SmallType表中的字段为:SmallID,BigID,SmallName;
思路:(主要就是依葫芦画瓢,照官方的实例整的)先读一次大分类表,取得大分类,当每次选择大分类时,将所选择的大分类ID提交给服务器端,通过该ID查得相应的小分类值,将查询值返回,插入相应的位置(注:由于对Xajax往客户端页面插入Javascript部分不熟练,在此我直接把小分类查得的值在服务器端就整理为要输出的select列表菜单,所以感觉有点怪,不是很纯正的感觉^_^,不过已经满足我的需要了,就没继续调,将来如果有机会将加以改进)
包含三个文件结构:
xajaxserver.php
xajaxcommon.php
chose.php
代码参考如下:
xajaxcommon.php页的代码
view plaincopy to clipboardprint?
//包含xajax的函数库文件
require_once ("./xajax/xajax_core/xajax.inc.php");
//创建一个xajax对象
$xajax = new xajax("xajaxserver.php");
//注册你想要通过xajax调用的函数,该函数通过大分类ID来取得小分类。
$xajax->registerFunction("GetSmallType");
//包含xajax的函数库文件
require_once ("./xajax/xajax_core/xajax.inc.php");
//创建一个xajax对象
$xajax = new xajax("xajaxserver.php");
//注册你想要通过xajax调用的函数,该函数通过大分类ID来取得小分类。
$xajax->registerFunction("GetSmallType");
xajaxserver.php页的代码
view plaincopy to clipboardprint?
//输出中文,设置GB2312
define (''XAJAX_DEFAULT_CHAR_ENCODING'', ''GB2312'' );
//包含公用文件
require("xajaxcommon.php");
//通过BigID查询小分类的函数,并通过xajaxResponse对象返回XML命令:
function GetSmallType($BigID)
{
$objResponse = new xajaxResponse();
/*
*连接你的数据库,并通过$BigID来查询小分类的值,该部分代码略过
*查得的小分类的结果存放在二维数组$SmallTypeResult中
*/
//开始构造Select列表菜单
$j=0;
while(!emptyempty($SmallTypeResult[$j]))
{
$Temp.="<option value=''".$SmallTypeResult[$j][ID]."''>".
$SmallTypeResult[$j][SmallName]."</option>";
$j++;
}
$str ="<select name=''smalltype'' id=''smalltype''>
<option value=''0''>[选择小分类]</option>";
$str.=$Temp;
$str.="</select>";
//将列表菜单显示在请求页面的id为mdjingdiv的层中
$objResponse->assign("mdjingdiv","innerHTML",$str);
return $objResponse;
;
}
//在程序输出之前,由xajax处理请求
$xajax->processRequest();
//输出中文,设置GB2312
define (''XAJAX_DEFAULT_CHAR_ENCODING'', ''GB2312'' );
//包含公用文件
require("xajaxcommon.php");
//通过BigID查询小分类的函数,并通过xajaxResponse对象返回XML命令:
function GetSmallType($BigID)
{
$objResponse = new xajaxResponse();
/*
*连接你的数据库,并通过$BigID来查询小分类的值,该部分代码略过
*查得的小分类的结果存放在二维数组$SmallTypeResult中
*/
//开始构造Select列表菜单
$j=0;
while(!empty($SmallTypeResult[$j]))
{
$Temp.="<option value=''".$SmallTypeResult[$j][ID]."''>".
$SmallTypeResult[$j][SmallName]."</option>";
$j++;
|