旋转的钢笔 2018-01-15 02:16 采纳率: 54.5%
浏览 2544
已采纳

怎样用ul 模拟select,并且支持多级菜单,可以获取选中的菜单的值?

现有需求,要求选择框可以支持多级菜单,如果我用ul去做,那么不能像select一样,
将选中的值放到顶端,现在我想要select 和ul 合并后的效果,既想要select效果,
又想要支持多级菜单,并且可以获取选中项的值?

  • 写回答

6条回答 默认 最新

  • 关注

    时间有几天了,希望能够给你点帮助。
    首先,代码贴不出来了,只能谈一下思路。
    用ul去伪装select可以避免ie中出现自带箭号,破坏整体样式美观;其他的问题暂时没有发现。
    设计:
    第一,ul和li组合调整好样式,首先弄好外框,模拟成select的样子就行,设置click或这tap之类的事件
    在进行第二步之前,要明确我们的数据层级,并且获取到数据,了解数据相应的格式。
    第二,包装ul和li,为我们下拉选的内容添加鼠标悬浮的监听事件,1:要删除所有选中的class,2:为悬浮元素添加选中的class,3:添加弹出二级(多级雷同)下拉选内容的函数(包括显示和隐藏、获取数据等)
    第三,关于选中内容的思考,从你的描述看可能要实现,1:选中项置顶,2:打开下拉时默认滑动到上一次选中的位置
    这个其实都可以通过js实现的,如果能力不够或者找不到资料就想想一些变通的办法替代

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器