封装的三级联动及应用

封装好的JS方法

sanjiliandong.js

$(document).ready(function(e) {

    $("#sanji").html("<select id=‘sheng‘></select><select id=‘shi‘></select><select id=‘qu‘></select>");

    FillSheng();
    FillShi();
    FillQu();

    $("#sheng").change(function(){

        FillShi();
        FillQu();

        })
    $("#shi").change(function(){
        FillQu();
        })

    function FillSheng()
    {
        var code = "0001";

        $.ajax({
            async:false, //异步
            url:"chuli.php",
            data:{code:code},
            type:"POST",
            datatype:"TEXT",
            success: function(data){

                    var hang = data.split(‘|‘);
                    var s = "";
                    for(var i=0;i<hang.length;i++)
                    {
                        var lie = hang[i].split(‘^‘);
                        s = s+"<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
                    }

                    $("#sheng").html(s);

                }

            });
    }

    function FillShi()
    {

        var code = $("#sheng").val();

        $.ajax({
            async:false, //异步
            url:"chuli.php",
            data:{code:code},
            type:"POST",
            datatype:"TEXT",
            success: function(data){

                    var hang = data.split(‘|‘);
                    var s = "";
                    for(var i=0;i<hang.length;i++)
                    {
                        var lie = hang[i].split(‘^‘);
                        s = s+"<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
                    }

                    $("#shi").html(s);

                }

            });
    }

    function FillQu()
    {
        var code = $("#shi").val();
        $.ajax({
            async:false,
            url:"chuli.php",
            data:{code:code},
            type:"POST",
            datatype:"TEXT",
            success: function(data){

                    var hang = data.split(‘|‘);
                    var s = "";
                    for(var i=0;i<hang.length;i++)
                    {
                        var lie = hang[i].split(‘^‘);
                        s = s+"<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
                    }

                    $("#qu").html(s);

                }

            });
    }

});

负责处理及连接数据库的页面代码:

1.处理界面源代码

chuli.php

<?php
include("mydbda.php");

$code = $_POST["code"];

$sql = "select * from ChinaStates where ParentAreaCode = ‘".$code."‘";

$db = new mydbda();
$str = $db->Select($sql,"CX","企业黄页");
echo $str;
?>

2.连接数据库代码

mydbda.php

<?php
    class mydbda
    {
        var $host = "localhost";
        var $username = "root";
        var $password = "123";
        var $database = "企业黄页";

        /**
            功能:执行SQL语句,返回结果
            参数:$sql:要执行的SQL语句
                 $type:SQL语句的类型,CX代表查询,QT代表其他
                 $data:要操作的数据库
            返回值:如果是查询,返回结果集
                  如果是其他语句,执行成功返回OK,失败返回NO
        */
        function Select($sql,$type,$data)
        {

            //1.造连接对象
            $db = new mysqli($this->host,$this->username,$this->password,$data);

            //2.判断是否连接成功
            if(mysqli_connect_error())
            {
                echo "连接失败";

                //退出整个程序
                exit;
            }
            else
            {
                //4.执行SQL语句

                $result = $db->query($sql);

                if($type == "CX")
                {
                    $str = "";

                    while($row = $result->fetch_row())
                    {
                        for($i=0;$i<count($row);$i++)
                        {
                            $str=$str.$row[$i]."^";
                        }
                        $str = substr($str,0,strlen($str)-1);
                        $str = $str."|";

                    }
                    $str = substr($str,0,strlen($str)-1);
                    return $str;
                }
                else
                {
                    if($result)
                    {
                        return "OK";
                    }
                    else
                    {
                        return "NO";
                    }
                }

            }
        }

    }
?>

主页面源代码

sanji.php

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery-1.11.2.min.js"></script>
<script src="sanjiliandong.js"></script>
<title>无标题文档</title>
</head>

<body>

<div>

<div id="sanji"></div>

</div>

</body>

</html>
时间: 2024-10-13 14:59:20

封装的三级联动及应用的相关文章

城市三级联动 AJAX-原生js封装

话不多说我们先来一张效果图给大家看一下: html代码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>城市三级联动 - citys-原生js封装</title> <link rel="shortcut icon" href="../public/image/favi

三级联动下拉插件waterfall封装, 效果很棒360兼容模式极速模式完美运行兼容IE,Firefox等主流浏览器^

项目中很多地方用到了三级联动就封装了一个适合自己公司的js插件, 虽然写的不太好还是想跟亲们分享下, 多多交流多多指点^_^; 1.效果: 目录结构: 1.源码: jquery.waterfall-1.0.2.js /** *@Author: YingYueZhou *@Date: 2015/07/15 *@Params: object */ ;(function($){ $.fn.waterfall = function(options){ options = $.extend({ nodes

封装标签省,市,县。三级联动

package com.jy.modules.tld; import com.jy.platform.api.sysarea.SysAreaAPI; import java.io.IOException; import java.util.List; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.jsp.JspException; import javax.servlet.jsp.J

使用php ajax实现一个省市区的三级联动

要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates表查询 Ajax加载数据 完成效果如下: 实现三级联动  以后可能 还会用到 所以 可以将其封装为一个方法 新建一个JS页面 代码如下: // JavaScript Document $(document).ready(function(e) { //向DIV里面扔三个下拉 var str = "&

MVC 下拉列表三级联动

当前所做的项目,关于数据库设计的时候有点小意思,表A是三个联合主键,key1,key2,key3,表B是四个联合主键 key1,key2,key3,key4,其中表B的联合外键关联表A对应的联合主键,这样一来,对表B做新增的时候 就需要几个小步骤: ①:界面初始化,返回全部不重复的 key1.key2.key3 ②:界面勾选key1,触发chang事件,采用getJson 方式将参数key1的值发送到Action中 ,同时设置下拉列表b 的内容为空,$("#b").html('');

ajax(省,市,县)三级联动

下面我们用Jquery,ajax,做一个省,市,县的三级联动: 下面是我做三级联动下拉的步骤以及逻辑 第一步:先做一个省市区表格 第二步:建个PHP页面显示用我是在<body>里放<div>用来接收要显示的省市区表格信息,里面嵌入jquery-1.11.2.min.js和自己封装的三联动省市区的方法 第三步:写封装方法用JS 第四步:做个纯php处理页面,这个页面处理传过来的任何代号 首先我们要建立数据库: 这就是包含省,市,县的数据库, 下面我们就写主页面:sanji.php:

city-picker插件使用-移动h5三级联动

首先访问该链接:http://www.jq22.com/jquery-info12914 看看是否是你要找的三级联动插件, 好了,不知道是不是我傻,没有找到初始化数据的方法,本人只能直接格式化一下代码,直接改源码,总之呢,三个地方要改动,看源码: 修改:city-picker.min.js 1 // jshint ignore: start 2 + 3 function(e) { 4 //开发时,直接把数据库数据设置给rawCitiesData,注意,这里要转json对象,不是json字符串.

使用 AJAX + 三级联动 实现分类出全国各地的省,市,区

使用AJAX + 三级联动  实现分类出全国各地的省,市,区 也可以将下面的显示页面所写的 function循环,封装成js文件,就是在写代码软件里创建一个js文件,就和创建一个HTML或php文件一样.直接在显示页面引用! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Ajax案例:三级联动查询员工的信息(三张表进行内连接)

需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉框中才有值,点击department下拉框后employee下拉框中才有值,才可以进行选择,不可以跨级点击:点击最后一个下拉框可以将员工的id,last_name,email,salary,显示在下面的表格中: 实现上述功能的方法: 1.c3p0数据库连接池,实现数据库的链接:JdbcUtils类,