精华内容
参与话题
问答
  • 菜单

    千次阅读 2011-11-28 19:03:38
    1、在菜单项前添加标记 用到的函数  GetMenu() 作用 :获取菜单栏;GetSubMenu() 作用: 获取子菜单;  CheckMenuItem()作用:菜单标记;  函数功能:该函数取得与指定菜单项相联系的菜单标志。如果该...

    1、在菜单项前添加标记

    用到的函数 

    GetMenu()  作用 :获取菜单栏;GetSubMenu() 作用: 获取子菜单;

     CheckMenuItem()作用:菜单标记;

     函数功能:该函数取得与指定菜单项相联系的菜单标志。如果该菜单项打开了一个子菜单,该函数也返回子菜单里的菜单项数。

     函数原型:DWORD CheckMenuItem(HMENU hmenu, UINT uIDCheckItem, UINT uCheck); 
     参数:
      hmenu:含有其菜单项的标志将被提取得的菜单的句柄。一般为缺省值,可以省略。
      uIDCheckItem:指定要修改的菜单项。这个参数取决于第三个参数,若第三个参数为MF_BYCOMMAND,则该参数是所选菜单项的ID号,若为MF_BYPOSITION,则该参数是所选菜单的索引值。
      uCheck:表示标记的状态。此参数可取下列值之一:
      MF_BYCOMMAND:表示参数uId给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
      MF_BYPOSITION:表示参数uId给出菜单项相对于零的位置。

          其中MF_BYCOMMAND和MF_BYPOSITION均可以与菜单项相关的菜单标志一起使用。
     

      返回值:如果指定的项不存在,返回值是OXFFFFFFFF;如果菜单项打开了一个子菜单,则返回值的低位含有与菜单相联系的菜单标志,高位含有子菜单的项数。否则,返回           值是莱单标志的掩码(布尔OR)。
      下面列出与菜单项相关的菜单标志。
      MF_CHECKED:放置选取标记于菜单项旁边(只用于下拉式菜单、子菜单或快捷菜单)。
      MF_DISABLED:使菜单项无效。MF_GRAYED:使菜单项无效并交灰。MF_HILITE:加亮菜单项。
      MF_MENUBARBREAK:对下拉式菜单、子菜单和快捷菜单,新列和旧列由垂直线隔开,其余功能同MF_MENUBREAK标志。
      MF_MENUBREAK:将菜单项放于新行(对菜单条)或无分隔列地放于新列(对下拉式菜单、子菜单或快捷菜单)。
      MF_SEPARATOR:创建一个水平分隔线(只用于下拉式菜单、子菜单或快捷菜单)。
      MF_UNCHECKED: 相当于MF_CHECKED 的反作用,取消放置于菜单项旁边的标记。

    例如:对文件-新建菜单前添加一个标记,可在CMainFrame类 oncreat()下添加如下代码:

          GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION|MF_CHECKED);

    或GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_FILE_NEW,MF_BYCOMMOND|MF_CHECKED);


    2、创建缺省菜单项

    用到的函数:

    SetDaultItem()

    函数原型:BOOL SetDefaultItem(UINT UItem,BOOL fByPos = FALSE

    第二个参数缺省值是FALSE,若第二个参数是FALSE,则第一个参数是菜单项的ID,若若第二个参数是TRUE,则第一个参数是菜单项的索引值;

    例如:将文件-打开设置为缺省菜单,可在CMainFrame类 oncreat()下添加如下代码:

    GetMenu()->GetSubMenu(0)->SetDefaultItem(1,TRUE);

    GetMenu()->GetSubMenu(0)->SetDefaultItem(ID_FILE_OPEN,FALSE);

    GetMenu()->GetSubMenu(0)->SetDefaultItem(ID_FILE_OPEN);

    注意:在一个菜单项中只能有一个缺省菜单


    3、创建图形标记菜单

    用到的函数:SetMenuItemBitmaps

    函数原型:BOOL SetMenuItemBitmaps( UINT nPosition, UINT nFlags, const CBitmap* pBmpUnchecked, const CBitmap* pBmpChecked );

    第一个参数取决于第二个参数,若第二个参数是MF_BYPOSITION,第一个参数则为菜单项的索引,若第二个参数是MF_BYCOMMOND,第一个参数则为菜单项的ID.第三个参数是选择菜单项时菜单项前标记的位图,第四个参数是不选菜单项时它前边的位图标记。

    添加步骤

    a、新建一个bitmap

    b、在CMainFrame中添加成员变量 CBitmap bitmap;

    c、在oncreat中添加代码:

    bitmap.LoadBitmap(IDB_BITMAP1);
    GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(0,MF_BYPOSITION,&bitmap,&bitmap);

    注意:图形标记菜单位图bitma的大小,可以先获取bitmap大小,通过以下代码:

    GetSystemMetrics()是获取系统信息;参数是指想获取关于哪方面的信息

    可以先获取图形标记菜单位图的大小

    CString str;
    str.Format("x = %d,y = %d",GetSystemMetrics(SM_CXMENUCHECK),GetSystemMetrics(SM_CYMENUCHECK));

     MessageBox(str);

     其中GetSystemMetrics(SM_CXMENUCHECK))和GetSystemMetrics(SM_CYMENUCHECK))分别是获取图形标记菜单位图的宽度和高度;

     通过 MessageBox输出。


    4、使菜单不可用

    用到的函数:

    EnableMenuItem()

    函数原型:BOOL EnableMenuItem(UINT uIDEnableItem, UINT uEnable);

    作用:允许或禁止指定的菜单条目

    但是在用EnableMenuItem()禁止指定的菜单条目时,应先在构造函数中赋值 m_bAutoMenuEnable = FALSE;

    例如: 将文件-保存设为不可用

    CMainFrame::CMainFrame()
    {
    m_bAutoMenuEnable = FALSE;
    }

    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {

    。。。

    GetMenu()->GetSubMenu(0)->EnableMenuItem(2,MF_BYPOSITION|MF_GRAYED);

    GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_FILE_SAVE,MF_BYCOMMAND|MF_GRAYED);

    }

    (注意,若用索引,只能设置菜单的可用与不可用,而不能控制工具栏中图标的可用和不可用,但是,用ID号可以使控制菜单项状态与工具栏状态一致)

    5、取消和添加整个菜单

    取消菜单:

    在oncreat中添加代码 SetMenu(NULL);即可

    添加菜单:

    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {

            。。。

    CMenu menu;                                                  //定义变量
    menu.LoadMenu(IDR_MAINFRAME);                 //加载菜单
    SetMenu(&menu);                                            //添加菜单
    menu.Detach();                                                //将菜单句柄和c++断开,必须有。

    }

    命令更新机制:

    菜单项状态的维护是依赖于CN_UPDATE_COMMAND_UI消息,谁捕获了CN_UPDATE_COMMAND_UI消息,MFC就在其中创建了一个CCmdUI对象。可以通过类向导在消息映射中添加ON_UPDATE_COMMAND_UI宏来捕获CN_UPDATE_COMMAND_UI消息。

    在后台所作的工作是:操作系统发出WM_INITMEUPOPUP消息,然后由MFC基类如CFrameWnd接管。他创建一个CCmdUI对象,并与第一个菜单项相关联,调用对象的一个成员函数,DoUpdate()。这个函数发出CN_UPDATE_COMMAND_UI消息,这条消息带有指向CCmdUI对象的指针。同一个CCmdUI对象就设置为与第二个菜单项相关联,这样顺序进行,直到完成所有菜单项。

    更新命令UI处理程序仅应用于弹出式菜单项的项目,不能应用于永久显示的顶级菜单项目。

    利用这样的更新机制使菜单项能或不能使用可以用一下的方法:

    1、查看——建立类向导

    2、在object ids 中选择ID_FILE_NEW 在message中选择ON_UPDATE_COMMAND_UI,点击Addfunction。点击Edit。在函数中输入代码:

    pCmdUI->Enable(FALSE);

    3、运行,可以看到菜单上新建已经禁用。

    为了保证菜单项和工具栏中的工具相一致,一般用ID进行索引。

    6、右键弹出菜单功能

    工程——增加到工程——组建和控件——visual c++ components——pop-up-menu——insert——确定——add pop-up-menu to 中选择cmainmenu——关闭;

    运行,右击鼠标,弹出菜单;

    用到的函数:

    trackpopupmenu()

    函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。

      函数原型:BOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT* prcRect);

      hMenu:被显示的快捷菜单的句柄。此句柄可为调用CreatePopupMenu创建的新快捷菜单的句柄,也可以为调用GetSubMenu取得的与一个已存在菜单项相联系的子菜单的句柄。

      uFlags:一种指定功能选项的位标志。用下列标志位之一来确定函数如何水平放置快捷菜单:

      TPM_CENTERALIGN:若设置此标志,函数将按参数x指定的坐标水平居中放置快捷菜单。

      TPM_LEFTALIGN:若设置此标志,函数使快捷菜单的左边界与由参数X指定的坐标对齐。

      TPM_RIGHTALIGN:若设置此标志,函数使快捷菜单的右边界与由参数X指定的坐标对齐。

      用下列标志位之一来确定函数如何垂直放置快捷菜单:

      TPM_BOTTOMALIGN:若设置此标志,函数使快捷菜单的下边界与由参数y指定的坐标对齐。

      TPM_TOPALIGN:若设置此标志,函数使快捷菜单的上边界与由参数y指定的坐标对齐。

      TPM_VCENTERALIGN;若设置此标志,函数将按参数y指定的坐标垂直居中放置快捷菜单

      用下列标志位之一来确定在菜单没有父窗口的情况下用户的选择:

      TPM_NONOTIFY:若设置此标志,当用户单击菜单项时函数不发送通知消息。

      TPM_RETURNCMD;若设置此标志;函数将用户所选菜单项的标识符返回到返回值里。

      (补充:当TrackPopupMenu的返回值大于0,就说明用户从弹出菜单中选择了一个菜单。以返回的ID号为参数wParam的值,程序给自己发送了一个WM_SYSCOMMAND消息)

      用下列标志位之一来确定在快捷菜单跟踪哪一个鼠标键:

      TPM_LEFTBUTTON:若设置此标志,用户只能用鼠标左键选择菜单项。

      TPM_RIGHTBUTTON:若设置此标志,用户能用鼠标左、右键选择菜单项。

      X:在屏幕坐标下,快捷菜单的水平位置。

      Y:在屏幕坐标下,快捷菜单的垂直位置。

      NReserved:保留值,必须为零。

      HWnd:拥有快捷菜单的窗口的句柄。此窗口接收来自菜单的所有消息。函数返回前,此窗口不接受来自菜单的WM_COMMAND消息。

      如果在参数uFlags里指定了TPM_NONOTIFY值,此函数不向hWnd标识的窗口发消息。 但必须给hWnd里传一个窗口句柄,可以是应用程序里的任一个窗口句柄。

      PrcRect:未用。

      返回值:如果在参数uFlags里指定了TPM_RETURNCMD值,则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则退回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值,若函数调用成功,返回非零值,若函数调用失败,返回零。若想获得更多的错误信息,清调用GetLastError

    手动添加弹出菜单方法:

    1、在menu中添加菜单

    2、在从view中添加句柄,在window消息句柄中选择WM_RBUTTONDOWN,添加句柄。

    3、在OnRButtonDown中添加代码如下:

    void CMenuView::OnRButtonDown(UINT nFlags, CPoint point)
    {
     // TODO: Add your message handler code here and/or call default
     CMenu menu;
     menu.LoadMenu(IDR_MENU1); //加载弹出菜单
     CMenu *pPopup = menu.GetSubMenu(0);
     ClientToScreen(&point); //将客户区窗口转为屏幕窗口
     pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
       GetParent());     //GetParent()是指向cmainframe的指针,这样可以响应在cmainframe中添加的消息响应函数。
     CView::OnRButtonDown(nFlags, point);
    }

    4、运行。

    动态添加、删除、操作菜单:

    用到的函数 AppendMenu(在现有菜单后添加菜单) creatpopupmenu(创建空的弹出菜单,将他和CMENU的一个对象关联起来)

     eg:添加一个弹出菜单:

    eg:插入一个弹出菜单:

    InsertMenu

    eg:删除一个菜单

    DeleteMenu

    手动添加响应函数:

    1、定义ID号

    在resource中的Header File下的Resource.h中添加 

    #define IDM_HELLO          111(定义ID号)

    2. 添加函数

    a、在头文件中写:afx_msg void OnHello()      //消息原型

    b、ON_COMMAND (IDM_HELLO,OnHello()       //添加消息响应

    c、添加函数

    void CMainFrame::OnHello()
    {
     MessageBox("hello!");
    }

    d、运行,就可以发现winsun下的hello是可用的

     

     

     

     

     

     

     










    展开全文
  • mall-不显示父级菜单

    万次阅读 2020-02-26 11:26:11
    在研究mall项目时,我想添加一个菜单结果只有子菜单显示出来,这让我很懵逼 问题说大不大但是,强迫症啊,为啥不显示父级菜单, 原因: mall作者没有加alwaysShow属性,默认为false 的当只有一个子路由是不显示父级...

    问题描述:
    在研究mall项目时,我想添加一个菜单结果只有子菜单显示出来,这让我很懵逼
    问题说大不大但是,强迫症啊,为啥不显示父级菜单,
    在这里插入图片描述
    原因:
    mall作者没有加alwaysShow属性,默认为false 的当只有一个子路由是不显示父级的
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 我想要做一个左侧是菜单栏,然后点击菜单在右侧显示内容的一个页面,并且不刷新左侧的菜单~求助各位大神~很多人都说用ajax做,但是新手没有接触过,给点例子什么的最好了~
  • java从数据库读取菜单,递归生成菜单

    万次阅读 多人点赞 2016-10-29 13:44:34
    java从数据库读取菜单,递归生成菜单

    首先看一下菜单的样子

    这里写图片描述

    根据这个样子我们定义菜单类

    public class Menu {
    	// 菜单id
    	private String id;
    	// 菜单名称
    	private String name;
    	// 父菜单id
    	private String parentId;
    	// 菜单url
    	private String url;
    	// 菜单图标
    	private String icon;
    	// 菜单顺序
    	private int order;
    	// 子菜单
    	private List<Menu> childMenus;
    	// ... 省去getter和setter方法以及toString方法
    }
    

    我们根据这个类定义数据库,并插入菜单数据

    DROP TABLE IF EXISTS `jrbac_menu`;
    CREATE TABLE `jrbac_menu` (
      `id` varchar(32) NOT NULL COMMENT '主键id,uuid32位',
      `name` varchar(64) NOT NULL COMMENT '菜单名称',
      `parent_id` varchar(32) DEFAULT NULL COMMENT '父菜单id',
      `url` varchar(64) DEFAULT NULL COMMENT '访问地址',
      `icon` varchar(32) DEFAULT NULL COMMENT '菜单图标',
      `order` tinyint(4) DEFAULT '0' COMMENT '菜单顺序',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='菜单表';
    
    -- ----------------------------
    -- Records of jrbac_menu
    -- ----------------------------
    INSERT INTO `jrbac_menu` VALUES ('1', 'Forms', null, 'forms.html', 'fa fa-edit', '0');
    INSERT INTO `jrbac_menu` VALUES ('2', 'UI Elements', null, '', 'fa fa-wrench', '1');
    INSERT INTO `jrbac_menu` VALUES ('3', 'Buttons', '2', 'buttons.html', '', '0');
    INSERT INTO `jrbac_menu` VALUES ('4', 'Icons', '2', 'icons.html', null, '1');
    INSERT INTO `jrbac_menu` VALUES ('5', 'Multi-Level Dropdown', '', '', 'fa fa-sitemap', '2');
    INSERT INTO `jrbac_menu` VALUES ('6', 'Second Level Item', '5', 'second.html', null, '0');
    INSERT INTO `jrbac_menu` VALUES ('7', 'Third Level', '5', null, '', '1');
    INSERT INTO `jrbac_menu` VALUES ('8', 'Third Level Item', '7', 'third.html', null, '0');
    

    为了演示,我们把可展开的没有做完,仅仅插入几条数据能出效果就可以了。

    meuDao

    package com.jrbac.dao;
    
    import java.util.List;
    
    import com.jrbac.entity.LoginUser;
    import com.jrbac.entity.Menu;
    
    public interface MenuDao {
    
    	/**
    	 * 查找用户的菜单
    	 * @param loginUser
    	 * @return
    	 */
    	public List<Menu> queryMenuList(LoginUser loginUser);
    }
    
    

    mybatis

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.jrbac.dao.MenuDao">
    	<select id="queryMenuList" resultType="Menu">
    		SELECT 
    			id,`name`,parent_id,url,icon,`order`
    		FROM 
    			jrbac_menu ORDER BY `order` ASC
    	</select>
    </mapper>
    

    测试方法与递归方法

    
    @Test
    public void testQueryMenuList() {
    	// 原始的数据一条一条的
    	List<Menu> rootMenu = menuDao.queryMenuList(null);
    	// 构建好的菜单树,第一层菜单的pid是null
    	List<Menu> menuTree = buildMenuTree(rootMenu, null);
        System.out.println(menuTree);
    }
    
    /**
     * 构建菜单树
     *
     * @param menuList
     * @param pid
     * @return
     */
    private List<Menu> buildMenuTree(List<Menu> menuList, String pid) {
        List<Menu> treeList = new ArrayList<>();
        menuList.forEach(menu -> {
            if (StringUtils.equals(pid, menu.getParentId())) {
                menu.setChildMenus(buildMenuTree(menuList, menu.getId()));
                treeList.add(menu);
            }
        });
        return treeList;
    }
    

    menuDao.queryMenuList(null);查找的结果是一条一条的数据

    这里写图片描述
    测试程序的运行结果,对输出的json进行个格式化后的对比

    这里写图片描述

    最终效果

    这里写图片描述

    如果你也使用sbadmin后台模版的话,它只做到了二级菜单,三级的没有做展开控制。

    要做到三级将sb-admin-2.js的最后一个替换成下面的。

    if (element.is('li')) {
        element.addClass('active');
        element.parent().addClass('in');
    }
    

    再奉上前端jsp页面输出菜单的代码

    <c:forEach items="${userMenuList }" var="menu" varStatus="status">
                      	<!-- 一级子菜单没有parentId,有url -->
                      	<c:if test="${empty menu.parentId and not empty menu.url}">
    		<li>
    			<a href="<c:url value='${menu.url }'/>">
    				<i class="${menu.icon } fa-fw"></i> ${menu.name }
    			</a>
    		</li>
    	</c:if>
    	<!-- 可展开的一级菜单,没有parentId,有url -->
    	<c:if test="${empty menu.parentId and empty menu.url}">
    		<li>
    			<a href="#">
    				<i class="${menu.icon } fa-fw"></i> ${menu.name }<span class="fa arrow"></span>
    			</a>
    			<ul class="nav nav-second-level">
    				<!-- 没有url的是三级菜单,有url的直接输出到li中 -->
    				<c:forEach items="${menu.childMenus}" var="secondChild" varStatus="status">
    					<c:if test="${not empty secondChild.url }">
    						<li>
                                     <a href="<c:url value='${secondChild.url }'/>">${secondChild.name }</a>
                                  </li>
    					</c:if>
    					<!-- 二级菜单url为空,表示还有三级菜单 -->
    					<c:if test="${empty secondChild.url }">
    						<li>
                                     <a href="#">${secondChild.name }<span class="fa arrow"></span></a>
                                     <ul class="nav nav-third-level">
                                     		<c:forEach items="${secondChild.childMenus}" var="thirdChild" varStatus="status">
                                      		<li>
                                               <a href="<c:url value='${thirdChild.url }'/>">${thirdChild.name }</a>
                                           </li>
                                          </c:forEach>
                                     </ul>
                                  </li>
    					</c:if>
    				</c:forEach>
    			</ul>
    		</li>
    	</c:if>
    </c:forEach>
    

    参考文献

    https://blog.csdn.net/ldllovegyh/article/details/102692948

    展开全文
  • Bootstrap完美select标签下拉菜单实现

    万次阅读 多人点赞 2018-08-25 14:00:01
    初级者使用bootstrap框架时,大部分对官方提供的下拉菜单dropdown组件不是很感冒! 所以,这里就提供简单原生下拉标签&amp;amp;amp;amp;amp;lt;select&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt...

    Bootstrap <select>下拉菜单实现

    初级者使用bootstrap框架时,大部分对官方提供的下拉菜单dropdown组件不是很感冒!
    所以,这里就提供简单原生下拉标签<select><option>实现的下拉组件。



    一、样式1、样式2——截图对比

    1.原生select标签,截图如下:

    原生select标签效果

    2.bootstrap官方dropdown组件,截图如下:

    官方dropdown效果



    二、样式1、样式2 —— 主要代码

    <div class="form-group">
        <label for="email" class="col-sm-2 control-label">所属角色</label>	
        <div class="col-sm-6">	
        	<!-- 样式1 -->
    		<select class="form-control">
    			<option>1</option>
    			<option>2</option>
    			<option>3</option>
    			<option>4</option>
    			<option>5</option>
    		</select>
        	<!-- 样式2 -->
    		<!--<div class="btn-group dropdown" id="dropdown">
    		  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    		    超级管理员 <span class="caret"></span>
    		  </button>
    		  <input type="hidden" name="hidedrop_1" id="hidedrop_1" value="超级管理员" />
    		  <ul class="dropdown-menu">
    		    <li><a href="#">超级管理员</a></li>
    		    <li role="separator" class="divider"></li>
    		    <li><a href="#">设计总监</a></li>
    		    <li role="separator" class="divider"></li>
    		    <li><a href="#">运维人员</a></li>
    		    <li role="separator" class="divider"></li>
    		    <li><a href="#">发布人员</a></li>
    		  </ul>
    		</div>-->
    		
        </div>
        <div class="col-sm-4 tips"></div>
    </div>
    


    附:全部html代码

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<title>添加管理员</title>
    	<link rel="stylesheet" type="text/css" href="../statics/plugins/bootstrap/3.3.7/css/bootstrap.css"/>
    	<style type="text/css">
    		.modal-header{padding: 0;}
    		/*.modal-content{border-radius: 0;}*/
    		.modal-dialog .close{position: absolute;top: 10px;right: 15px;}
    		.modal-dialog h3{font-size: 14px;height:42px;line-height: 42px;margin: 0;padding: 0 80px 0 20px;}
    		.modal-dialog label{font-weight: 400;}
    		.tips{line-height: 34px;font-size: 13px;}
    		.tips span{color: red;}
    		@media (min-width: 1080px){
    			/*模态框-距顶部距离*/
    			.modal-dialog {
    			    margin-top: 100px;
    			}
    			.col-sm-6{padding-left: 0;padding-right: 0;}
    			
    		}
    	</style>
    </head>
    <body>
    	<!--模态框-->
    	<div class="modal-dialog">
    		<div class="modal-content">
    		  <form class="form-horizontal" autocomplete="off" action="0.php">
    			<div class="modal-header">
    				<button class="close" data-dismiss="modal">x</button>
    				<h3>添加管理员</h3>
    			</div>
    			<div class="modal-body">
    				<div class="form-group">
    				    <label for="name" class="col-sm-2 control-label">用户名</label>
    				    <div class="col-sm-6">
    				    	<input type="text" class="form-control" id="name" placeholder="6~16位字母、数字、下划线组合">
    				    </div>
    				    <div class="col-sm-4 tips"><span>* </span>必填</div>
    				</div>
    				<div class="form-group">
    				    <label for="mobile" class="col-sm-2 control-label">手机号码</label>
    				    <div class="col-sm-6">
    				    	<input type="text" class="form-control" id="mobile" placeholder="输入11位手机号码" >
    				    </div>
    				    <div class="col-sm-4 tips"><span>* </span>必填</div>
    				</div>
    				<div class="form-group">
    				    <label for="email" class="col-sm-2 control-label">E-mail</label>
    				    <div class="col-sm-6">
    				    	<input type="text" class="form-control" id="email" placeholder="请输入邮箱" >
    				    </div>
    				    <div class="col-sm-4 tips"></div>
    				</div>
    				<div class="form-group">
    				    <label for="email" class="col-sm-2 control-label">所属角色</label>	
    				    <div class="col-sm-6">	
    				    	<!-- Single button -->
    						<select class="form-control">
    							<option>1</option>
    							<option>2</option>
    							<option>3</option>
    							<option>4</option>
    							<option>5</option>
    						</select>
    						<!--<div class="btn-group dropdown" id="dropdown">
    						  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    						    超级管理员 <span class="caret"></span>
    						  </button>
    						  <input type="hidden" name="hidedrop_1" id="hidedrop_1" value="超级管理员" />
    						  <ul class="dropdown-menu">
    						    <li><a href="#">超级管理员</a></li>
    						    <li role="separator" class="divider"></li>
    						    <li><a href="#">设计总监</a></li>
    						    <li role="separator" class="divider"></li>
    						    <li><a href="#">运维人员</a></li>
    						    <li role="separator" class="divider"></li>
    						    <li><a href="#">发布人员</a></li>
    						  </ul>
    						</div>-->
    						
    				    </div>
    				    <div class="col-sm-4 tips"></div>
    				</div>
    				<div class="form-group">
    				    <label for="regtime2" class="col-sm-2 control-label">注册日期</label>
    				    <div class="col-sm-8 input-group" id="regtime2">
    				    	<input type="text" class="form-control" placeholder="YYYY-MM-DD" >
    				    	<span class="input-group-addon">
    			                <span class="glyphicon glyphicon-calendar"></span>
    			            </span>
    				    </div>
    				</div>
    			</div>
    			<div class="modal-footer">
    				<button class="btn btn-primary" type="submit">保存</button>
    				<button class="btn btn-info" data-dismiss="modal">关闭</button>
    			</div>
    		  	
    		  </form>
    		</div>
    	</div>
    <script type="text/javascript">
    	$(function(){
    		window.top.parent.dropdownFun();
    		//函数dropdownFun()为官方文档中的$(‘#dropdown’).on('show.bs.dropdown', function(){ ··· ··· })
    	});
    </script>
    </body>
    </html>
    
    
    

    上述红色注释部分表示:在顶级页面内的函数。
    详细了解,参考具体的实现效果,以及页面iframe后的子页面,如何在主视图窗口实现下拉效果!


    以上就是关于“ Bootstrap完美select标签下拉菜单实现 ” 的全部内容。

    展开全文
  • CSS炫酷圆形导航菜单特效

    万次阅读 2020-07-20 15:26:09
    css body { background-color: #262626 } .demo { padding: 2em 0; transform: translate3d(0, 0, 0); } .navbar { width: 150px; height: 150px; line-height: 150px; border-radius: 50%;... p.
  • 之前我向大家介绍了史上最简单的滑动菜单的实现方式,相信大家都还记得。如果忘记了其中的实现原理或者还没看过的朋友,请先去看一遍之前的文章 Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑...
  • Android 超高仿 QQ5.0 侧滑菜单项目完整实例代码

    万次下载 热门讨论 2014-09-14 01:12:27
    代码为博客的实例代码,有问题请博客中留言:http://blog.csdn.net/lmj623565791/article/details/39185641
  • Fragment+FragmentTabHost实现仿新浪微博底部菜单栏效果(源码)
  • [想实现这样一个简单的菜单](https://img-ask.csdn.net/upload/201612/09/1481279617_697611.png) 点击我的收藏,二级菜单可以显示,再点击,二级菜单隐藏 ![二级菜单有5个li]...
  • Android滑动菜单框架Demo修正版

    千次下载 热门讨论 2013-08-21 21:13:51
    此版本修正了以下内容: 1.将滑动方式改成了覆盖型。...2.ListView上下滚动时不会轻易滑出菜单。 3.正在滑动时屏蔽掉内容布局上的事件。 4.当菜单布局展示时,点击一下右侧的内容布局,可以将菜单隐藏。
  • Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭

    万次阅读 多人点赞 2014-09-15 09:19:36
    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39257409,本文出自【张鸿洋的博客】上一篇博客带...的确,上一篇也承诺过,稍微修改上一篇的代码,实现QQ5.0侧滑菜单~~好了,下面就开始为大家展
  • 2)服务号可以申请自定义菜单; 3)使用QQ登录的公众号,可以升级为邮箱登录; 4)使用邮箱登录的公众号,可以修改登录邮箱; 5)编辑图文消息可选填作者; 6)群发消息可以同步到腾讯微博。 其中,大家议论...
  • 我用火狐和google浏览器打开文件后点击下拉菜单能正常显示二级菜单,但用IE和Edge浏览器打开文件后点击下拉菜单无反应,不显示二级菜单。请问是什么原因?我应该怎么办才能解决浏览器兼容问题?html代码我已经...
  • android底部菜单栏demo

    千次下载 热门讨论 2012-07-13 19:49:11
    android底部菜单栏demo
  • public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main,menu);...到底哪里不对,,,,只能显示菜单不能使用点击事件 !!!!求解 要设置什么东西?还是添加什么东西?好烦。
  • 定义菜单类 /// <summary> /// 菜单信息 /// </summary> public class Menu { private string mu_id; //菜单编号 private string mu_name; //菜单名称 private string mu_parentid; //父菜单...
  • Android侧滑菜单 SlidingMenu 完整实例代码

    万次下载 热门讨论 2014-07-03 18:39:39
    代码为博客实例代码:有问题博客留言:http://blog.csdn.net/lmj623565791/article/details/36677279
  • Android仿微信底部菜单栏+顶部菜单栏(附源码)

    千次下载 热门讨论 2015-03-07 23:11:29
    Android仿微信底部菜单栏+顶部菜单栏,效果看博文http://blog.csdn.net/evankaka/article/details/44121457
  • Java菜单菜单条、菜单菜单项)

    万次阅读 2018-08-15 14:03:23
    有两种类型的菜单:下拉式菜单和弹出式菜单。本章只讨论下拉式菜单编程方法。菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的。菜单与JComboBox的相同之处是每次只可选择一个项目。在下拉式菜单或弹出式...
  • 使用了Ant Design,menu的数据改为从后台获取,现在子菜单点击后,没有选中;但是鼠标移入有移入事件。不知道这有没有啥问题。 ``` render() { const { openKeys, theme, mode, location: { pathname ...
  • Android 自定义控件打造史上最简单的侧滑菜单

    万次阅读 多人点赞 2014-09-11 17:57:26
    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39185641 ,本文出自【张鸿洋的博客】侧滑菜单在很多应用中都会见到,最近QQ5.0侧滑还玩了点花样~~对于侧滑菜单,一般大家都会自定义ViewGroup...
  • 前言:这周看到菜单部分,以前也对菜单有过使用,但并没有系统的对菜单进行梳理。这次借着这个机会,对菜单进行梳理。但只是很浅显的系统讲解,即对菜单的种类及各种用法作了一些讲述,并没有对如何使用自定义的菜单...
  • Android 打造史上最简单的侧滑菜单

    万次下载 热门讨论 2014-09-10 22:22:10
    代码来自博客实例,有问题请留言:http://blog.csdn.net/lmj623565791/article/details/39185641
  • 我在公众号新建设了一个菜单项”平台测试“,设置跳转路径为...但是进入微信之后,点击该菜单,无法跳转到我的网站中,显示找不到网站,不知道是什么原因,是URL ENCODE错了吗?求大神指教,谢谢。
  • 有这样一个元素,这个元素鼠标移上去,会有一个下拉菜单,下拉菜单上的文字是调用的JS的方法,看图: ![图片说明](https://img-ask.csdn.net/upload/201903/26/1553589707_397310.png) 鼠标移到这个倒三角会...

空空如也

1 2 3 4 5 ... 20
收藏数 299,514
精华内容 119,805
热门标签
关键字:

菜单