php二级联动菜单,php三级联动代码

本文目录一览:

php二级联动菜单

我给你提供一个三级的

主页面是

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”

html xmlns=””

head

title三级联动下拉列表/title

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /

script type=”text/javascript” src=”/js/jquery.js”/script

script type=”text/javascript”

!–

var temp;

var ids = [‘province’,’city’,’eare1′]; //默认要操作的三个ID,注意先后顺序,不可颠倒。

// 参数说明:pid是关联 的id (第二个参数) 的父级,n表示是第几级,(如第一级,第二级,第三级),selected 默认被选中的选择的主键

function getList (pid,id,n,selected) {

var list = document.getElementById(id);

$.post (‘ajax.php?act=getList’,{‘pid’:pid,’action’:id},function (data) {

var temp1 = eval(‘(‘+ data +’)’); //把传过来的字符串转化成一个JSON对象。

var leng = temp1.length;

var n = (n ids.length ) ? ids.length : n;

n = (n 0 ) ? 0 : n;

for (var j = n ; j ids.length ; j++)

{

var t = ‘temp’+j

t = document.getElementById(ids[j]);

t.options.length = 1;

t.options[0]=new Option(‘请选择’,’*’);

}

if (leng 0) {

list.length = leng + 1;

for (var i=0;i temp1.length ;i++ )

{

list.options[i+1]=new Option(decodeURI(temp1[i].key),temp1[i].val);

if (temp1[i].region_id == selected ) {

list.options[0].selected = ‘selected’;

}

if (selectedlist.options[i+1].value==selected){

list.options[i+1].selected = ‘selected’;

}

}

}

if(pid == ‘*’) {

switch(id){

case ‘city’:

t = document.getElementById(‘city’);

t.options.length = 1;

t.options[0]=new Option(‘请选择’,’*’);

t = document.getElementById(‘eare1’);

t.options.length = 1;

t.options[0]=new Option(‘请选择’,’*’);

break;

case ‘eare1’:

t = document.getElementById(‘eare1’);

t.options.length = 1;

t.options[0]=new Option(‘请选择’,’*’);

break;

}

}

if(document.getElementById(‘city’)document.getElementById(‘city’).value==’*’){

t = document.getElementById(‘eare1’);

t.options.length = 1;

t.options[0]=new Option(‘请选择’,’*’);

}

});

}

$(function () {

getList (‘1′,’province’,1);

//三个都写是为了修改的时候,请三个框中默认的都有选中的值,一般增加的时候只写第一个就可以了。

});

/script

/head

body

div

select name=”yc1″ id=”province” onchange=”getList (this.value,’city’,1)”

option value=”*” selected=”selected”请选择/option

/select

select name=”yc2″ id=”city” onchange=”getList (this.value,’eare1′,2)”

option value=”*” selected=”selected”请选择/option

/select

select name=”yc3″ id=”eare1″

option value=”*” selected=”selected”请选择/option

/select

/div

/body

/html

AJAX 页面是

?php

$link = mysql_connect(“localhost”, “root”, “123456”);

mysql_select_db(“mydatabase”);

$act = isset ($_GET[‘act’]) ? $_GET[‘act’] : ” ;

$action = isset ($_POST[‘action’]) ? $_POST[‘action’] : ” ;

$pid = isset ($_POST[‘pid’]) ? $_POST[‘pid’] : ” ;

$arr = array();

switch ($action) {

case ‘province’:

$sql = “select DISTINCT(province_name) val,province_id key from province order by id”;

$res = mysql_query($sql);

while($col = mysql_fetch_array($res)){

$arr[] = $col;

}

break;

case ‘city’:

$sql = “select DISTINCT(city_name) val,city_id key from city where `province_id` = ‘”.$pid.”‘

order by id”;

$res = mysql_query($sql);

while($col = mysql_fetch_array($res)){

$arr[] = $col;

}

break;

case ‘eare1’:

$sql = “select DISTINCT(eare1_name) val,eare1_id key from eare1 where `city_id` = ‘”.$pid.”‘

order by id”;

$res = mysql_query($sql);

while($col = mysql_fetch_array($res)){

$arr[] = $col;

}

break;

}

mysql_close($link);

$list = array();

$i = 0;

foreach($arr as $k = $v){

foreach($v as $key = $value){

if(!preg_match(“|^\d+|”,$key)){

$list[$i][$key] = $value;

}

}

$i++;

}

print_r (json_encode ($list));

数据库关联是

表province 区域表

有ID province_id province_name三个字段

id是自增的 province_id为唯一

表CITY 城市表

有ID city_id city_name province_id

其中province_id与province表的province_id对应

id是自增的 city_id为唯一

最后一个表类似与city表

jquery.js可以到下载

如果有问题可以在晚上7-10点 在H!给我留言

求php横向二级联动菜单

1.数据封装成

[ {

id:”,

name:”,

submenu[

{id:”,name:”,link:”}

]

},

{…}

]

这种形式,submenu存的就是每个菜单的子菜单

2.对一级菜单加上mouseover 事件监听

(1) 在监听事件中获取当前菜单的位置

(2)将子菜单的列在一个div上,并将div显示一级菜单的右侧(需要自己计算相对位置)

(3) 子菜单的div添加鼠标移开事件,鼠标移开时子菜单隐藏

这就是这种菜单的一种实现方式,至于代码,还是你自己尝试着去写吧

3.如果嫌麻烦,网上也应该能找到类似的效果的源代码,直接用

求php二级联动下拉菜单

一般用ajax,比如:

大类的select onchange=”xxx javascript函数(参数)”

参数就是大类的id值

在xxx javascript函数(大类id)里面

你用ajax把大类id传给一个php文件,这个php文件从数据库中取出这个大类下面的小类的值,再返回给当前的页面,当前的页面,再重新写小类的slelct。

比如小类的select是这样的:

div id=’xiaolei_div’

select id=”xiaolei_select”

xxxx

/select

/div

当当前页面获取到小类的值之后:

在js函数里面:

var xiaolei_div=document.getElementById(‘xialei_div’);

var options=”;

for(xxxx)

{

options=options+’option value=”小类的id”小类的名称/option’;

}

xiaolei_div.innerHtml=’select id=”xiaolei_select”‘+options+’/select’;

只是说说思路,代码现打的,可能有错误

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 22:33
下一篇 2024-11-29 22:33

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • Python爱心代码动态

    本文将从多个方面详细阐述Python爱心代码动态,包括实现基本原理、应用场景、代码示例等。 一、实现基本原理 Python爱心代码动态使用turtle模块实现。在绘制一个心形的基础…

    编程 2025-04-29

发表回复

登录后才能评论