日期:2010-02-11  浏览次数:20521 次

最终效果图:

难点: 定位,其实不难, 取得父元素(省)的位置,然后设置 市(初始隐藏)的位置 = 父元素位置偏移n个px

id为pop 的div是模式窗口

说一下流程吧

1.ajax读出所有省市

2.市放在一个div里面,初始是隐藏的,然后给每一个省加一个onclick事件,控制这个省的市显示还是隐藏

3.完成。

说得简单了点,不过看代码就看明白了!有不明白可以在这里留言,我会关注!

html代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
   
    <script>
    var xmlHttp;
function createXMLHttpRequest()
{
    if(window.ActiveXObject)
    {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest)
    {
        xmlHttp = new XMLHttpRequest();
    }
}
function startRequest()
{
    createXMLHttpRequest();
    try
    {      
        xmlHttp.onreadystatechange = handleStateChange;
        xmlHttp.open("GET", "Default.aspx?ct=1", true);
        xmlHttp.send(null);
    }
    catch(exception )
    {
    alert(exception);
        alert("请稍候再试!");
    }
}
function handleStateChange()
{   
    if(xmlHttp.readyState == 4)
    {       
        if (xmlHttp.status == 200 xmlHttp.status == 0)
        {  
            var param = xmlHttp.responseText;  
            $("#divlist").append(param);
            alert(param);
        }
    }
}
 function cc(){
    $("#divdialog").fadeIn("fast");
    $("#pop").css({"width": "100%","height": "100%","display": "inline"});
    startRequest();
    }
   
    function selectitem(obj){
    $("#txt1").val(obj);
    }
 
    function showc(obj,objname){
    if($("#divct"+obj).text() == ""){
    selectitem(objname); //如果没有市,