cognos值提示下拉列表实现全选功能
Cognos V10.2新增功能
Cognos 10.2 新功能
1.Report Studio部分
1.1固定行列表头
对于列表,可以锁定列表头;对于交叉表,行列表头均可锁定。
1.2自动进行群组汇总
效果如上图
1.3 Active Report与Workspace的改进集成
Workspace内工作空间中的复选框和滑块可驱动Active Report
可在Active Report中定义允许Workspace复选框和滑块驱动工作空间中的活动报表的公共变量和范围变量。
2.Workspace部分
2.1 选项卡是工作空间
在选项卡工作空间内,可以再耽搁工作空间中对多个选项卡中的内容进行组织。
每个选项卡都包含有关特定区域的信息。
2.2 图表交互
可以选择图表或图表的其中一个或多个组成部分,并应用操作。
2.3 冻结列和行标题
冻结列表和交叉表中的列和行标题。
滚动浏览所有数据时冻结以视图形式保存的标题。
2.4 查看列和行的详细信息
在交叉表中,可以展开列和行以查看组成数据的详细信息。
2.5 操作按钮窗口小部件
可创建帮助在工作空间中的选项卡之间跳转的操作按钮。
在excel表格中设置选择下拉列表的技巧
在excel表格中设置选择下拉列表的技巧
在excel表格制作中,经常会遇到固定选项输入,例如*别(男女),婚否(是,否),在制作考勤表的时候也可以利用到选择下拉列表等。
在实际中应用起来会很方便。
根据选择项多少分两中情况来写。
步骤
首先打开excel办公软件,以*别为例。
选择其中一个单元格输入*别。
定位在需要设置选择下拉类别的单元格,即*别下面的单元格
在菜单栏选择数据选项卡。
在数据工具中选择数据有效*,点击出现数据有效*设置的对话框。
单击设置选项卡,在“允许”下拉列表中选择“序列”选项。
上面是以*别为例选择项只有两个男,女。
如果是选择项比较多的,比如班级,就可以在表格中另外的一个区域里先输入一个列表。
比如班级,先在另外区域做一个列表{一班二班三班四班}
说一下两个小问题,在设置对话框,序列右边可以看到两个需要勾选的选项,默认的是全部勾选,可以根据自己的时间情况来勾选。
一个忽略空值,简单点说就是单元格是不是可以留空,或者说是不是必填的,允不允许留空。
另外一个是提供下拉箭头,这个就很好理解了,需要就勾选,不需要就不勾选。
注意事项
以上就是在excel表格中怎样设置选择下拉列表方法介绍,*作很简单,希望能对大家有所帮助吧!。
Vba实现Excel感知下拉列表
Vba 实现Excel 感知下拉列表Vba 实现Excel 感知下拉列表Excel 可以使用下拉列表来提高输入效率这个是大家比较了解的了,但是人们追求工作效率是永无止境的,正是"没有最懒,只有更懒"。
那么,我们是否可以将下拉列表做成智能感知的效果呢,先看一下如下效果图:这种效果方便于长期对某表格操作的朋友,直接用索引来实现便捷的数据输入,说了这么长时间到底是如何实现的呢,如下:1、建立Excel 下拉菜单(这个大家应该都熟悉,不熟悉的朋友可以百度搜索一下),重要的是需要设置一下,将"数据有效性"的"出错警告"选项卡中的"输入无效数据时显示出错警告"前方的勾选去掉,如下图(不然频繁的警告会让你疯掉 ):2、下面就是Vba 的事情了(如果您对Vba 不是很了解的话,建议您弄本相关的书看一下)。
'首先建立一个全局变量,用于存储是否为代码做出的更改 Public isMe As Boolean1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 '在工作簿如下事件中,输入如下代码,即可实现感知效果Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Target As Range)If isMe ThenisMe = FalseExit SubEnd IfOn Error GoTo ExitMeDim ArrDim i As IntegerDim IsFind As BooleanIsFind = FalseIf Target.Validation.Type = 3 ThenArr = Split(Target.Validation.Formula1, ",")For i = 0 To UBound(Arr)If InStr(1, Arr(i), Target.Value, vbTextCompare) <> 0 Then isMe = TrueTarget.Value = Arr(i)192021222324252627282930313233IsFind = TrueExit ForEnd IfNextIf Not IsFind ThenMsgBox "数据输入错误!", vbCriticalTarget.SelectEnd IfEnd IfExitMe:End SubPrivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ByVal Target As Range)isMe = FalseEnd Sub怎么样,是不是事半功倍呢,哈哈,如果您想关注更多的智能办公的技巧,请订阅本站。
Excel中表格下拉菜单多项选择的操作方法
Excel中表格下拉菜单多项选择的操作方法
在做excle表格很容易遇到多项进行下拉菜单的选择,免去了大量的输入时间,而且还不容易打错字而造成的后果。
那么,excel的下拉菜单多项选择怎么做?具体步骤是怎样的?今天,店铺就教大家在Excel 中表格下拉菜单多项选择的操作方法。
Excel中表格下拉菜单多项选择的操作步骤如下:
第一步:先选定其中一个需要多项选择下拉菜单的单元格,点击excle上的数据选项栏——数据有效性——选中下拉中的数据有效性。
第二步:弹出数据有效性窗口。
第三步:一般做多项选择下拉菜单的时候,有效性条件允许中找到“序列”选项。
第四步:在来源中,写出你的多项选项的下拉菜单项目(每个项目中间用英文状态下的逗号表示)。
例如:我,我们,你,你们,他,他们。
第五步:点击“确定”按钮,在之前选择的单元格中即可看到设置的多项选择下拉菜单。
第六步:如果下面的单元格同样如此,即可点击原有的单元格进行下拉即可。
Excel中表格下拉菜单多项选择的操作。
excel制作下拉菜单实现批量输入功能
excel制作下拉菜单实现批量输入功能2011-9-6 10:34:40来源:百度整理作者:lff53我要评论(0)很多朋友工作中都要用到excel表格,今天小编教大家利用“数据有效性”制作excel下拉菜单,并且实现“分类列表选择、快速统一输入”功能。
使用实例界面:excel制作下拉菜单第一步:建库启动excel2003(原文是excel2000或者xp,我是在2003上试的),切换到sheet2表(其他亦可),将建筑施工企业名称按其资质等级分别输入不同列的单元格中,建立一个企业名称数据库(如图1)。
excel制作下拉菜单第二步:命名在sheet2工作表中,选中A列(一级企业名称所在列),然后将光标定在“名称”栏内(位于“编辑栏”左侧,如图2),输入“一级”,并按“回车”键进行确认。
仿照上面的操作,将B、C、D列分别命名为“二级、三级、四级”。
excel制作下拉菜单第三步:建立切换到Sheet1工作表中,选中需要输入企业资质等级的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框(如图3)。
进入“设置”标签,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面接着出现的“来源”方框中,输入“一级,二级,三级,四级”序列,输入完成后,确定退出。
[特别提示]在输入“序列”时,序列中各元素之间请用英文状态下的逗号隔开。
再选中需要输入企业名称的列(如D列),再次打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。
excel制作下拉菜单:使用选中C列任意单元格(如C4),在其右侧出现了个下拉按钮,单击此按钮,即可选择企业的资质等级级别填入相应的单元格中。
然后选中该单元格对应的D列单元格(如图4),同样在其右侧出现了个下拉按钮,单击此按钮,即可从相应资质等级的企业名称列表中选择需要的企业名称填入该单元格中。
cognos使用技巧
selectedNodes[selectedNodes.length] = node;
}
return selectedNodes;
};
var treeInput;
var treePrompt;
for (i=0;i<theSelectedNodes.length;i++)
{
selectedNodes[selectedNodes.length] = theSelectedNodes[i];
}
}
}
if (node.isSelected())
{
//var inner = node.getLabel();
2、新增变量
根据值提示的显示值新增一个变量
如果值提示只有两个值,就使用布尔型变量,如果是多个值使用字符串变量,这里演示以布尔值为例
表达式的意思是如果值提示的值为折线图,变量的值就为1,否则为0
如果是字符串表达式,变量的值就设定一个字符串值,道理是一样的
布尔型的变量会自动默认生成两个值,如果是字符串变量,就根据表达式的实际情况设置变量值
}
function getSelected(node)
{
if (!node) {
node = this.getRootNode();
}
var selectedNodes = new Array();
if (node.hasSelectedChildren())
{
//get any children
var children = node.getChildren();
Cognos多维分析操作使用手册
Cognos多维分析操作使用手册1.1.1.OLAP展示窗口介绍进入中国电信经营分析系统,点击多维分析中一个分析主题进入该分析主题操作窗口,会出现以下类似的界面:就这个浏览器窗口说明一下将要在后用到一些名词。
浏览器窗口包括:1.1.1.1.维度栏维度:在浏览器窗口顶端,用于过滤每一维数据。
例如下图,该主题的维度包括时间,年,月份,在网时长,城乡标识,用户性质,地域,帐目类型,产品类型,客户类型,客户营销属性,上传省份等。
1.1.1.2.维度导航区维度导航区域用于对显示数据的行列和指标进行替换、嵌套等操作,在浏览器窗口的左部。
.1.1.1.3.数据显示区域维度栏的最后一项为指标下拉框,其中各个选项是作为数据显示区域的指标,如果在该立方体中有多个指标,您也可以选择其他的指标显示。
1.1.1.4.层次选择区有些维度分层次展示,如时间维度一般是年->季度->月这样的层次,用鼠标右键点击白色矩形框,会弹出菜单,可以让行或者列的数据向下一层或者上一层. 展开,使得数据展示更清楚工具栏1.1.1.5.工具栏位于浏览器窗口右部的底端,如下图:工具栏主要分为以下几部分:图标说明交叉制表显示/缩进式交叉制表显示风格选择简易条形图/饼图/簇状条形图/堆积式条形图/多线/立体条形图等图形显示风格的变化拆分视图,使数据显示在下部分,图形显示在上半部分调整显示选项,行列的数量,指标显示的选项,计算类别的显示等对已经插入的计算行或列进行调整对隐藏显示的进行调整交换行列对显示为0的数据消除隐藏80/20自定义例外项突出显示提供此报表说明在报表中查找类别打开帮助浏览器窗口把数据导出成文件只要鼠标放在图标上面就可以看到以上是对工具栏每个图标的说明。
当然,基本操作里面介绍。
OLAP简单说明,具体的使用在.1.1.1.6.OLAP操作实现的功能通过您的web 浏览器,您可以浏览信息,在任何维度浏览数据。
?在每一个具体的维度里面,点击其下拉框都可以看到其子类别和层次关系。
excel中表格下拉菜单多项选择的操作方法
文章标题:Excel中表格下拉菜单多项选择的操作方法在日常的工作和学习中,Excel表格是一个非常常用的工具,它可以帮助我们整理数据、进行统计分析等。
而表格下拉菜单是一个非常实用的功能,它可以帮助我们在输入数据的时候更加方便快捷。
在本文中,我将从深度和广度的角度,全面评估Excel中表格下拉菜单多项选择的操作方法,并据此撰写一篇有价值的文章,希望能够帮助大家更好地使用Excel表格。
1. 下拉菜单的基本操作方法在Excel表格中,我们可以通过数据验证功能来创建下拉菜单。
首先选中需要应用下拉菜单的单元格,然后依次点击“数据”-“数据验证”-“设置”选项卡,在“允许”下拉菜单中选择“列表”,并在“来源”中输入下拉菜单的选项。
这样就可以在选中的单元格中创建一个下拉菜单,方便我们进行输入选择。
2. 下拉菜单的多项选择方法然而,有时候我们在使用Excel表格的时候需要进行多项选择,这时如何设置下拉菜单就显得非常重要了。
在数据验证中,我们可以使用逗号分隔的方式来实现多项选择。
在“来源”中输入多个选项,并使用逗号进行分隔,这样在下拉菜单中就可以实现多项选择的功能。
3. 多项选择的应用场景多项选择的功能在实际的工作中非常常见,比如在进行人员调查时,我们需要选择被调查人的兴趣爱好、技能特长等,这时就需要使用Excel表格中的多项选择功能。
通过合理设置下拉菜单,可以方便我们进行多项选择的录入,提高工作效率。
4. 个人观点和理解在我个人看来,Excel表格中的多项选择功能非常实用,它可以帮助我们更好地进行数据录入和整理。
合理设置下拉菜单,可以使数据录入更加准确、规范,提高工作效率。
多项选择功能也提供了更多的灵活性,适用于不同的工作场景,是一个非常实用的功能。
总结回顾:通过本文的介绍,我们全面了解了Excel中表格下拉菜单多项选择的操作方法。
从基本操作到多项选择的方法,再到实际应用场景和个人观点,文章内容涉及深度和广度都相当充分。
excel下拉选择项怎么设置
excel下拉挑选项怎么设置excel下拉挑选项怎么设置(实用)工作中,我们是不是常常遇到这样一个问题,在录入员工名单时,录入的信息特别多重复信息,但又不能不录入,录入又特别的麻烦,今天教你一招,快速设置下拉挑选项,轻松解决信息重复录入的问题,下面作者为大家带来excel下拉挑选项怎么设置,期望对您有所帮助!excel下拉挑选项怎么设置第一点击数据工具栏,在其功能区找到“数据有效性”,并在下拉菜单中点击“数据验证”。
这时系统会弹出一个设置框,我们在其中的“答应”列表框中挑选“序列”。
随落后入序列的设置界面,我们将鼠标点击“来源”框,进入编辑状态,然后直接拉取表格中的省一行,如上图箭头所指红框区域。
系统会自动显示出刚才拉取的单元格区域地址。
然后点击肯定。
这时我们可以看到,单元格的右侧显现了一个下拉框,我们点击下拉图标,会显示出刚才拉取的省选项。
excel表格打不开是什么原因1、excel打不开是由于excel文件受损了,可以手动对excel文件进行修复。
2、其具体步骤以下:第一点击excel软件,然后单击功能区的“文件”选项卡。
然后在文件选项卡中挑选“打开”,右边的选项有一个“浏览”单击打开。
然后将弹出一个“打开”对话框。
使用鼠标单击右下角“打开”旁边的小三角形,然后在弹出下拉菜单中挑选“打开并修复”。
最后,在弹出对话框中挑选“修复”选项。
等待修复完成即可。
Excel表格入门基本操作技能1. 字体在工具栏“开始”菜单栏,查找调剂字体的工具框,在这个模块可以修改字体的类型、粗细、大小、色彩、是否带下划线等。
2. 对齐方式打好字后,需要修改字体格式,在对齐工具栏中,可以快速其对齐方式。
另外,合并居中是合并单元格。
3. 符号假设要制作消费统计表,就需要输入“¥”这个符号,一个一个输入太麻烦,我们可以直接在数字框里查找货币标志,挑选一批数据,批量添加就可以了。
4. 单元格在单元格工具框中,点击行列→点击插入单元格或者删除单元格就可以了5. 常用函数如果需要求和,最简单的方法就是在工具框中查找求和,点击求和,然后挑选其他函数就可以了。
下拉select用法
下拉select用法1.引言1.1 概述下拉选择框(select)是一种常见的表单元素,用于提供用户选择的选项。
它允许用户从一个固定的选项列表中选择一个或多个值。
下拉选择框常用于网页表单中,用于收集用户输入的信息,例如国家、城市、日期等。
在Web开发中,下拉选择框的使用非常普遍,因为它提供了用户友好的界面和灵活的选项。
通过下拉选择框,用户可以从预定义的选项中直接选择,而不需要手动输入数据。
这不仅提高了用户的操作效率,还减少了输入错误的可能性。
下拉选择框通常由一个可点击的文本框和一个下拉箭头组成。
当用户点击箭头或者输入框,会展开一个下拉列表,用户可以从中选择一个或多个选项。
选择后,选项的值将显示在文本框中。
除了展示选项,下拉选择框还可以显示默认选项或者当前选中的值。
除了基本的用法,下拉选择框还具有丰富的属性和选项设置,以满足不同的需求。
例如,可以设置下拉选择框的尺寸、宽度、颜色等外观样式。
还可以设置选项的默认值、禁用某些选项、设置多选等功能。
这些属性和选项使得下拉选择框具有更强的扩展性和可定制性。
总之,下拉选择框是一种实用且常用的表单元素,在各种Web应用中都得到了广泛应用。
它为用户提供了方便快捷的选择方式,同时也为开发者提供了灵活多样的定制选项。
在接下来的文章中,我们将详细探讨下拉选择框的基本用法、常用属性和选项,以及它在未来的发展方向。
1.2文章结构文章结构是指一篇文章整体的组织框架和分布方式。
它包括引言、正文和结论三个主要部分,每个部分又可以细化为若干个小节。
在本篇文章中,结构如下:1. 引言1.1 概述1.2 文章结构1.3 目的2. 正文2.1 下拉select的基本用法2.2 下拉select的属性和选项3. 结论3.1 总结下拉select的用法3.2 未来发展方向引言部分主要是对文章主题进行简要说明,概括性地介绍下拉select 的用途和重要性,引起读者的兴趣,并明确文章的目的和结构。
bootstrap+jQuery实现下拉菜单中复选框全选和全不选效果
bootstrap+jQuery实现下拉菜单中复选框全选和全不选效果前⾔最近⼏天在公司做了个后台管理系统的⼩模块,其中有个功能是实现复选框的全选和全不选,⽤bootstrap和jQuery来实现。
效果是这样:因为是内部⽤,样式也不要求太好看,直接上代码。
⽰例代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><META content="IE=11.0000" http-equiv="X-UA-Compatible"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" href="lib/bootstrap.min.css" rel="external nofollow" /><link rel="stylesheet" href="style.css" rel="external nofollow" /><style type="text/css">.dropdown-menu {width: 500px;height: 170px;padding: 0;}.dropdown-menu .all {width: 100%;height: 44px;background-color: #f9f9fa;line-height: 44px;padding-left: 10px;}.dropdown-menu input[type="checkbox"] {margin-left: 20px;}label.checkbox {display: inline-block;}.choose_bank label {margin-bottom: 16px;}</style></head><body><div class="btn-group choose_bank" style="height: 22px;"><button class="btn btn-mini" style="padding: 0;width: 120px;background-color: #fff;border: 1px solid #ccc">全部</button><button class="btn btn-mini dropdown-toggle" data-toggle="dropdown" style="height: 22px"><span class="caret"></span></button><div class="dropdown-menu"><label class="all"><input type="checkbox"> 全部</label><label><input type="checkbox"> ⼯商银⾏</label><label><input type="checkbox"> 农业银⾏</label><label><input type="checkbox"> 中国银⾏</label><label><input type="checkbox"> 建设银⾏</label><label><input type="checkbox"> 交通银⾏</label><label><input type="checkbox"> 邮政银⾏</label><label><input type="checkbox"> 招商银⾏</label><label><input type="checkbox"> 中信银⾏</label><label><input type="checkbox"> 民⽣银⾏</label><label><input type="checkbox"> 光⼤银⾏</label><label><input type="checkbox"> 平安银⾏</label><label><input type="checkbox"> 北京银⾏</label></div></div></body><script src="lib/jquery.min.js"></script><script src="lib/bootstrap.min.js"></script><script>var banks = $('.all').siblings().children();$('.all>input').click(function() {var flag = $(this).prop('checked');banks.prop('checked', flag);})banks.click(function() {// 如果有⼀个没选中,全选按钮不选中// 如果全部选中,全选按钮被选中var num = 0;banks.each(function() {if ($(this).prop("checked")) {num++;}})if (num == banks.length) {$('.all>input').prop('checked', true);} else {$('.all>input').prop('checked', false);}})</script></html>总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。
列表中复选框批量选择功能实现
程序员在开发的时候,经常会遇到对查询列表中的记录进行批量操作的情况。
1、实现的方法往往就是在每条记录前面加一个复选框,然后在列表下方放置一个“全选/全不选”复选框。
2、当选中“全选/全不选”复选框后,列表中的所有复选框都选中,当取消“全选/全不选”复选框后,列表中的所有复选框都取消选中。
3、当列表中的复选框都取消选中后,“全选/全不选”复选框也要取消选中。
当列表中的复选框都选中后,“全选/全不选”复选框也要选中。
4、得到所有选中记录的值。
这项功能其实也很简单,但往往用的时候都要重新再写一遍,于是把它总结为一个模块,记录下来,以便再用。
(1)首先是在每条记录前加入复选框,该处复选框中的值为“id|username”(示例),即选中此复选框会同时传两个值(传一个值的太简单,就不举例了),中间用|隔开,下面取值时会用到:<input id="box" name="box" type="checkbox" value="id|username"onclick="checkonebox()"/>(2)然后在下方加入“全选/全不选”复选框。
<input id="checkall" t ype="checkbox" value="" onclick="checkall()"/> 全选/全不选(3)关键实现javascript//点击"全选/全不选"复选框,如果选中,则选中全部复选框,否则取消选中全部复选框function checkall() {var ischecked = document.getElementById("checkall").checked;if(ischecked) {checkallbox();}else {discheckallbox();}}//选中全部复选框function checkallbox() {var boxarray = document.getElementsByName("box");for(var i = 0; i < boxarray.length; i++) {boxarray[i].checked = true;}}//取消选中全部复选框function discheckallbox() {var boxarray = document.getElementsByName("box");for(var i = 0; i < boxarray.length; i++) {boxarray[i].checked = false;}}//点击某个复选框,如果所有复选框都选中,“全选/全不选”复选框也选中//否则如果所有复选框都取消选中,“全选/全不选”复选框也取消选中function checkonebox() {if(isallchecked()) {document.getElementById("checkall").checked = true;}if(isalldischecked()) {document.getElementById("checkall").checked = false;}}//是否全部选中function isallchecked() {var boxarray = document.getElementsByName("box");for(var i = 0; i < boxarray.length; i++) {if(!boxarray[i].checked) {return false;}}return true;}//是否全部没有选中function isalldischecked() {var boxarray = document.getElementsByName("box");for(var i = 0; i < boxarray.length; i++) {if(boxarray[i].checked) {return false;}}return true;}//得到选中项的值的集合,结果为“1|小明,2|小王,3|小李”的形式function getallcheckedvalue() {var boxvalues = "";var boxarray = document.getElementsByName("box");for(var i = 0; i < boxarray.length; i++) {if(boxarray[i].checked) {var boxvalue = boxarray[i].value;if(boxvalues == "") {boxvalues = boxvalue;}else {boxvalues = boxvalues + "," + boxvalue;}}}return boxvalues;}//如果只需要得到其中选中项的id值的集合,方法如下,得到的值为(1,2,3,…)function getIds() {var boxvalues = getallcheckedvalue();var boxvaluesArray = boxvalues.split(",");var ids = "";for(var i = 0; i < boxvaluesArray.length; i++) {var boxvalue = boxvaluesArray[i];var boxvalueArray = boxvalue.split("|");var id = boxvalueArray[0];var username = boxvalueArray[1];if(ids == "") {ids = id;}else {ids = ids + "," + id;}}return ids;}最后,总结步骤:每条记录前加复选框,加“全选/全不选”复选框,调用javascript,OK。
ui组件之input多选下拉实现方法(带有搜索功能)
ui组件之input多选下拉实现⽅法(带有搜索功能)我的风格,先上效果图,如果⼤家感觉还不错,请参考实现代码。
废话不说先看div层次结构<!-- 最外层div 可以任意指定主要⽤于定义⼦元素宽度 --><div class="col-xs-10" style="width:800px"><!-- 表单label 添加⽂字提⽰ --><label for="" class="label-control">全⽂检索</label><!-- 多选承接div 以后会动态添加span --><div class="hint-input-span-container"><!-- 表单元素⽤来绑定监听事件以及接收⽤户输⼊该层上⽅会动态添加span --><input type="text" name="hint-search" value="" placeholder="选定关键字或按下tab或按下enter来分割关键字"></div><!-- 包含下拉列表列 --><div class="hint-block"><!-- 根据json数据包动态添加li --><ul class="hint-ul"></ul></div></div>dom结构注释已经能说得清楚了,下⾯来看css* {box-sizing: border-box;}.hint-input-span-container {width:100%;background-color: #fff;border: 1px solid #ccc;box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);display: inline-block;padding: 2px 4px;color: #555;vertical-align: middle;border-radius: 1px;max-width: 100%;line-height: 30px;}.hint-input-span-container .tag {padding: -2px;font-size: 12px;font-family: serif;;margin-right: 2px;margin-top: 2px;margin-bottom: 2px;display: inline-block;}.label {font-size: 10px;padding: 4px 6px;border: none;text-shadow: none;border-radius: 3px;font-weight: 200;}.label-primary {background: #2693FF;color: white;}.hint-input-span-container span i[data-role='remove'] {cursor: pointer;}.tag {margin-right: 2px;color: white;}.tag [data-role="remove"] {margin-left: 2px;cursor: pointer;}input[name='hint-search'] {border: none;box-shadow: none;outline: none;background-color: transparent;padding: 0;margin: 0;width: 100%;max-width: inherit;}.hint-block {position: absolute;width: 100px;max-height: 120px;background-color: #fff;overflow: auto;display: none;z-index: 9999;}.hint-ul {text-decoration: none;list-style-type: none;padding-left: 5px;}.hint-ul li{font-size: 14px;padding: 2px 4px;}.hint-ul li:hover{background-color: #eee;}css中设置border-sizing:border-box很重要,这个属性可以使padding与border计算在width之中.hint-input-span-container 设置display为inline-block也很重要,有关于tag的排列.hint-block设置z-index为9999保证显⽰在最前端,同时position为absolute保证其位置其他的都可以根据⾃⼰需要调整下⾯来看js代码$(function(){//json数据包var data = {data:["123","北京你好","北京欢迎您","北京好","海洋","海洋⼴利局","我海洋","我吃惊","我啦啦啦啦","我不能忍","机构","⽇本","俄罗斯的⼭","埃塞俄⽐亚","伊巴卡","⽐⽐⽐"]}; //获取后⾯需要多次调⽤的dom对象var $hintSearch = $("input[name='hint-search']");var $hintSearchContainer = $(".hint-input-span-container");var $hintBlock = $(".hint-block");var $hintUl = $(".hint-ul");//初次调⽤添加词典addDictionary(data.data,addUlListener);//设置词典列表宽度setHintSearchContainerWidth();//实现响应式监听resize事件$(window).bind('resize', setHintSearchContainerWidth);//获得焦点$hintSearch.focus(function(){animteDown();});//失去焦点//设置延迟为了可以监听到click的响应$hintSearch.blur(function(){setTimeout(function(){animateUp();},200);});//TAB 与 enter事件//监听tab与enter两个键位如果input内有输⼊的内容,则添加span//注意最后要阻⽌⼀下事件冒泡防⽌跳转与切换焦点$hintSearch.keydown(function(e){switch (e.which) {case 9: case 13:{var text = $hintSearch.val();if(!$.trim(text)) {$hintSearch.val("");e.preventDefault();return;}if( !checkContainerHas(text) ) {$hintSearch.before('<span class="tag label label-primary">'+ text +' <i class="fa fa-times" data-role="remove"></i><i> </i></span>');addSpanListenr();}//console.log($hintSearch.val());$hintSearch.val("");$hintSearch.focus();e.preventDefault();break;}default: ;}});//检测输⼊配对//对输⼊内容在li中进⾏匹配如果包含字符串可以找到并返回//搜索⽅法可以⾃⾏修改,只要保证返回⼀个搜索后的数组即可$hintSearch.keyup(function(e){var text = $hintSearch.val();if (!$.trim(text)){updateDictionary(data.data,addUlListener);}var tmparr = data.data.filter(function(x){return x.indexOf(text) != -1;})if (tmparr.length === 0) {tmparr.push("⽆匹配条⽬");}updateDictionary(tmparr,addUlListener);})//函数库//添加⽤户常⽤字典库function addDictionary(dataarr, callback) {for(var i = 0; i < dataarr.length; i++) {$hintUl.append('<li>'+ dataarr[i] +'</li>');}callback();}//更新搜索内容function updateDictionary(dataarr,callback) {$hintUl.empty();addDictionary(dataarr,callback);}//向下滑动动画//封装改变样式边框function animteDown(){$hintBlock.slideDown('fast').css({'border':'1px solid #96C8DA','border-top' : '0px', 'box-shadow' : '0 2px 3px 0 rgba(34,36,38,.15)'});$hintSearchContainer.css({'border':'1px solid #96C8DA','border-bottom' : '0px', 'box-shadow' : '0 2px 3px 0 rgba(34,36,38,.15)'});}//向上滑动动画function animateUp(){$hintBlock.slideUp('fast',function(){$hintSearchContainer.css({'border':'1px solid #ccc'});});}//检验是否与输⼊的重复function checkContainerHas(text){var flag = 0;$(".hint-input-span-container span").each(function(){if ($.trim(text) == $.trim($(this).text())) {flag = 1;return;}});return flag ? true : false;}//设置hint-input-span-container宽度function setHintSearchContainerWidth(){var hint_width = $hintSearchContainer.width() + 2 * parseInt($hintSearchContainer.css('padding-left').match(/[0-9]+/)[0]) + 2 * parseInt($hintSearchContainer.css('border-left').match(/[0-9]+/)[0]) ; $hintBlock.css({'width': hint_width});}//绑定click事件function addUlListener() {$hintUl.delegate('li','click',function(){var text = $(this).text();if(!checkContainerHas(text)) {$hintSearch.before('<span class="tag label label-primary">'+ text +' <i class="fa fa-times" data-role="remove"></i><i> </i></span>');addSpanListenr();}$hintSearch.val("");animateUp();})}//监听 span事件function addSpanListenr() {$(".hint-input-span-container span").delegate("i",'click',function(){$(this).parent().remove();})}})重点就是对事件的监听以及dom元素的操作,要依赖于jquery。
el-select下拉框多选实现全选的实现
el-select下拉框多选实现全选的实现在写⼀个功能时发现el-select⽀持多选,但是竟然不⽀持全选,好⽆语哦,那就⾃⼰实现⼀下吧~有两种⽅法,第⼆种感觉简单些⽅法⼀:下拉项增加⼀个【全选】,然后应该有以下⼏种情况:1. 下拉选项全都勾选时,【全选】⾃动勾选;2. 下拉选项部分勾选时,点击【全选】后,所有下拉项全部勾选;3. 下拉选项全都未勾选时,点击【全选】后,所有下拉选项不勾选;4. 下拉选项和【全选】都选上的时候,不勾选任意下拉选项,【全选】按钮就不勾选了;上⾯就是我要实现的功能,我好啰嗦。
还是看代码吧。
html部分:<template><el-select multiple collapse-tags v-model='selectedArray' @change='changeSelect' @remove-tag='removeTag' placeholder='请选择'><el-option label='全选' value='全选' @click.native='selectAll'></el-option><el-option v-for='(item, index) in options' :key='index' :label='' :value=''></el-option></el-select></template>js部分:export default {data() {return {selectedArray: [],options: [{ name: '⼀⼀', label: 'one' },{ name: '⼆⼆', label: 'tow' },{ name: '三三', label: 'three' },{ name: '四四', label: 'four' },{ name: '五五', label: 'five' }]}},methods: {selectAll() {if (this.selectedArray.length < this.options.length) {this.selectedArray = []this.options.map((item) => {this.selectedArray.push()})this.selectedArray.unshift('全选')} else {this.selectedArray = []}},changeSelect(val) {if (!val.includes('全选') && val.length === this.options.length) {this.selectedArray.unshift('全选')} else if (val.includes('全选') && (val.length - 1) < this.options.length) {this.selectedArray = this.selectedArray.filter((item) => {return item !== '全选'})}},removeTag(val) {if (val === '全选') {this.selectedArray = []}}}}看看效果图:⽅法⼆:直接添加⼀个【全选】复选框,实现的功能跟⽅法⼀是⼀样的html部分:<template><el-select multiple collapse-tags v-model='selectedArray' @change='changeSelect' placeholder='请选择'> <el-checkbox v-model="checked" @change='selectAll'>全选</el-checkbox><el-option v-for='(item, index) in options' :key='index' :label='' :value=''></el-option> </el-select></template>js部分:export default {data() {return {checked: false,selectedArray: [],options: [{ name: '⼀⼀', label: 'one' },{ name: '⼆⼆', label: 'tow' },{ name: '三三', label: 'three' },{ name: '四四', label: 'four' },{ name: '五五', label: 'five' }]}},methods: {selectAll() {this.selectedArray = []if (this.checked) {this.options.map((item) => {this.selectedArray.push() })} else {this.selectedArray = []}},changeSelect(val) {if (val.length === this.options.length) { this.checked = true} else {this.checked = false}}}}css:.el-checkbox {text-align: right;width: 100%;padding-right: 10px;}效果图:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Excel技术数据有效性13:在下拉列表中实现多项选择
Excel技术数据有效性13:在下拉列表中实现多项选择下面的一系列示例讲解了如何在下拉列表中选择多个条目,并演示了不同的情形。
1.如下图所示的工作表,通过在下拉列表中多次选择,将选择的条目依次输入当前单元格。
在工作表代码模块中输入代码:说明:•代码的关键是存储已选择过的条目,然后将已选条目和当前选择的条目组合,并将最终的结果输入到当前单元格。
•将Target.Value= strOldVal & ', ' & strNewVal换成Target.Value= strOldVal & Chr(10) & strNewVal,得到下面的效果:2.下面的示例实现当用户选择下拉列表中的条目时,会依次在该单元格右侧单元格中输入所选条目值,如下图所示。
在工作表代码模块中输入代码:说明:•代码的关键是获取下拉列表单元格右侧单元格的位置,并输入值。
3.下面的示例与上面相似,只是在数据有效性单元格相邻列的单元格中依次输入选择的条目内容,如下图所示。
代码如下:4.下面的示例实现在下拉列表中多项选择时,不能选择已经选过的条目。
工作表代码模块中的代码如下:5.下面的示例实现在下拉列表中选择多个条目时,已选条目不在出现在下拉列表中,如下图所示。
工作表代码模块中的代码与上文第1个示例的代码相同,代码如下:但是,在工作表中要进行一些设置。
首先,定义单元格区域H2:H10的名称为“剩余科目”,引用位置使用了公式,以定义动态名称。
然后,选择单元格区域C2:C5,设置数据有效性:在单元格G2中输入公式:=IF(COUNTIF($C$2:$C$5,'*'& F2 & '*'),'',ROW())下拉至单元格G10。
该公式查找列F中的单元格是否已在单元格区域C2:C5中,如果已存在则输入空,否则输入行号。
在单元格H中输入数组公式:=IF(ROW(F2)-ROW(F$2)1>COUNT(G$2:G$10),'',INDEX(F:F,SMALL(G$2:G$10,1 ROW(F2)-ROW(F$2))))下拉至单元格H10。
element ui 的toggleallselection用法
Element UI的toggleAllSelection用法Element UI是一套基于Vue.js的桌面端组件库,提供了丰富的UI组件,方便开发者快速构建美观、交互丰富的Web应用程序。
其中,toggleAllSelection是Element UI中的一个组件,用于实现全选和取消全选的功能。
本文将详细介绍toggleAllSelection的用法。
什么是toggleAllSelectiontoggleAllSelection是Element UI中Table组件的一个属性,用于控制表格中的全选和取消全选功能。
当设置toggleAllSelection为true时,表格的头部复选框将显示全选状态,并且所有行的复选框都将被选中。
当设置toggleAllSelection为false时,表格的头部复选框将显示取消全选状态,并且所有行的复选框都将取消选中。
如何使用toggleAllSelection使用toggleAllSelection非常简单,只需在Table组件中设置toggleAllSelection属性即可。
以下是一个示例:<template><el-table:data="tableData":columns="tableColumns":show-header="true":toggle-all-selection="true"></el-table></template>在上述示例中,我们通过设置:toggle-all-selection="true"来启用toggleAllSelection功能。
这样,表格的头部复选框将显示全选状态,所有行的复选框都将被选中。
toggleAllSelection的进阶用法除了基本的全选和取消全选功能,toggleAllSelection还提供了一些进阶的用法,可以满足更复杂的需求。