当前位置:首页 > 代码 > 正文

多级下拉选中树形菜单代码(树形下拉选择框)

admin 发布:2022-12-19 08:47 128


本篇文章给大家谈谈多级下拉选中树形菜单代码,以及树形下拉选择框对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何实现多级联动下拉菜单效果

以WPS 2019版本为例:

关于excel表格怎样设置多级联动下拉菜单效果,在WPS「表格(Excel)」中操作方法如下:

1、首先,我们在表格将数据分别录入到Sheet2和Sheet3中,Sheet2中是一级和二级,Sheet3中是二级和三级的数据。和之前制作二级下拉菜单的方式差不多,我们先进入Sheet2中,选择所有数据,点击「公式-指定-只保留「首行」前面的勾,其他的全部取消掉。同样的方法,我们再次进入Sheet3中进行操作;

2、设置一级下拉菜单:进入Sheet1,选中A2单元格,进入「数据-有效性-有效性-选择序列」,在「来源」中选择Sheet2中的「A1:C1」单元格(就是一级下拉菜单的内容);

(注意:设置完成后续先选中一个选项,否则设置二级时会提示错误)

3、设置二级下拉菜单。光标定位到B2单元格,然后进入「数据-有效性-有效性-选择序列」「来源」中输入「=INDIRECT(A2)」确定;

4、设置三级下拉菜单。选中C2单元格,同样的操作,只是在「来源」中输入的是「=INDIRECT(B2)」。最后,我们选中A2:C2单元格,向下填充一下。此时,我们的多级下拉菜单就已经全部完成。

谁有详细php 下拉菜单代码?

这是我自己用的一段代码,你自己改一下,点一下一级文本框,它所属的文本框会收起或伸展。

SCRIPT language=javascript

!--

function menu_tree(meval)

{

var left_n=eval(meval);

if (left_n.style.display=="none")

{ eval(meval+".style.display='';"); }

else

{ eval(meval+".style.display='none';"); }

}

--

/SCRIPT

TABLE class=navi cellSpacing=1 align=center border=0

TBODY

TR

TH后台 新闻分类/TH/TR/TBODY/TABLEBR

table border=0 cellspacing=1 align=center class=form

tr

th colspan="2"添加分类/th

/tr

form action="" method="post"

tr

td colspan="2" align="center" height='30'

select name="fid"

option value="0"添加大类/option

?php

$query=$db-findall("shipin where fid=0");

while ($row=$db-fetch_array($query)){

$new_class_arr[$row[id]]=$row[name];

echo "option value=\"$row[id]\"$row[name]/option";

}

?

/select

input type="text" name="name" value=""

input type="submit" name="into_class" value="添加分类"/

/td

/form

/tr

/table

br

table border=0 cellspacing=1 align=center class=form

tr

th colspan="2"系统分类/th

/tr

?php

foreach ($new_class_arr as $id=$val){

?

tr

td onClick ="javascript:menu_tree('left?=$id ?');"

form action="" method="post"

  IMG src="images/menu.gif" align=absMiddle border=0 

input type="hidden" name="id" value="?php echo $id?"

input type="text" name="name" value="?php echo $val?"

input type="submit" name="update_class" value="更新"/

input type="button" value="删除" onclick="location.href='?del=?php echo $id?'"/

/form

/td

/tr

tr id=left?=$id ?

td

table

tbody

?php

$query_fid=$db-findall("shipin where fid=$id");

while ($row_fid=$db-fetch_array($query_fid)){

?

tr

td

form action="" method="post"

   IMG src="images/menu.gif" align=absMiddle border=0 

input type="hidden" name="id" value="?php echo $row_fid[id]?"

input type="text" name="name" value="?php echo $row_fid[name]?"

input type="submit" name="update_class" value="更新"/

input type="button" value="删除" onclick="location.href='?del=?php echo $row_fid[id]?'"/

/form

/td/tr

?php }?

/tbody

/table

/td

/tr

?php

}

?

/table

/BODY/HTML

excel表VBA中用代码如何建立多级combobox下拉菜单

ExcelVBA字典实现窗体二级下拉菜单:

问题提出:

选择确定ComboBox1中的数值后,ComboBox2的下拉列表自动引用ComboBox1中数值对应的列的内容。如何能做到,现在想在加一重判断:就是判断ComboBox2中的数值,如果是原来ComboBox1对应列中已有的值,就直接向下进行,如果原来ComboBox1对应列中没有该值,自动添加到该列最下一个非空行之后再向下执行。

字典的引用:

窗体代码如下:

Public Arr, Dic As New Dictionary    '声明为公共变量,引用“Microsoft Scripting Runtime”

Private Sub UserForm_Initialize() '窗体初始化事件

    Dim Brr

    Arr = Sheet1.Range("A1").CurrentRegion.Value    'A1单元格已用区域

    For i = 1 To UBound(Arr, 2)    '循环标题,并添加到字典

        If Not Dic.Exists(Arr(1, i)) Then    '字典中不存在关键字

            Dic.Add Arr(1, i), Dic.Count + 1    '添加关键字,Item为索引

        End If

    Next

    Brr = Dic.Keys

    Me.ComboBox1.Clear    '清除列表框1条目

    For i = 0 To UBound(Brr) - 1    '列表框1添加条目

        Me.ComboBox1.AddItem Brr(i)

    Next

End Sub

Private Sub ComboBox1_DropButtonClick() '列表框1下拉事件

    Dim Brr

    If Me.ComboBox1.Text = "" Then Exit Sub    '如果列表框1为空,就退出过程

    Me.ComboBox2.Clear    '清空列表框2条目

    If Dic.Exists(Me.ComboBox1.Text) Then '如果列表框的关键字,在字典中有记录

        Brr = Application.WorksheetFunction.Index(Arr, 0, Dic(Me.ComboBox1.Text)) '用Index函数取出整列数据

        For i = 2 To UBound(Brr, 1)    '列表框2添加条目

            Me.ComboBox2.AddItem Brr(i, 1)    '列表框2添加条目

        Next

    End If

End Sub

Private Sub CommandButton1_Click() '按钮1单击事件

    If Me.ComboBox1.Text = "" Or Me.ComboBox2.Text = "" Then Exit Sub    '如果列表框1,2为空,就退出过程

    Dim Brr, Crr

    Brr = Application.WorksheetFunction.Index(Arr, 0, Dic(Me.ComboBox1.Text))    '用Index函数取出整列数据

    Crr = VBA.Filter(Application.Transpose(Brr), Me.ComboBox2.Text, True)    '取出匹配列表框2的值

    If UBound(Crr) = -1 Then  '如果有列表框2的值,数组不会为-1  ,'如果列表框2中没有此关键字,往原数据添加此关键字

        Sheet1.Cells(Rows.Count, Dic(Me.ComboBox1.Text)).End(xlUp).Offset(1).Value = Me.ComboBox2.Text

    End If

    Sheet1.Cells(Rows.Count, 10).End(xlUp).Offset(1).Value = Me.ComboBox2.Text    '+ Me.ComboBox1.Text  '把数据写入单元格

    Me.ComboBox1.Text = "": Me.ComboBox2.Text = ""    '列表框1,2显示为空白

    Me.ComboBox1.Clear: Me.ComboBox2.Clear    '清空列表框1,2的条目

    Call UserForm_Initialize    '初始化窗体,为下一次录入数据准备

End Sub

效果图:

Excel VBA 多级下拉菜单

确定要用VBA,这个完全可以通过公式解决。以上表为例,操作如下:

分别将A列、C列、G列,命名为:公司、部门、员工

设计如下图所示的表2

分别在B1\D1\F1设置“数据验证-序列”如图

在来源处输入:

B1: =OFFSET(公司,1,0,COUNTA(公司)-1,1)

D1: =OFFSET(部门,1,MATCH($B$1"公司部门",OFFSET(部门,0,0,1,COUNTA(公司)-1),0)-1,COUNTA(OFFSET(部门,0,MATCH($B$1"公司部门",OFFSET(部门,0,0,1,COUNTA(公司)-1),0)-1,,1))-1,1)

F1: =OFFSET(员工,1,MATCH($B$1"公司员工",OFFSET(员工,0,0,1,COUNTA(公司)-1),0)-1,COUNTA(OFFSET(员工,0,MATCH($B$1"公司员工",OFFSET(员工,0,0,1,COUNTA(公司)-1),0)-1,,1))-1,1)

下面试下,你会发现单关联的下拉列表出来!

关于多级下拉选中树形菜单代码和树形下拉选择框的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/5484.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载