首页 新闻 搜索 专区 学院

怎么用js 控制 html中select 下拉框的关闭

0
[已解决问题] 解决于 2012-10-19 09:28

我想点击select后,在它下方显示一个树,所以不希望显示select自身的下拉框,请问怎么做到单击select后立即关闭下拉框,我用jquery 的focus()但是无效。

luotong的主页 luotong | 初学一级 | 园豆:7
提问于:2012-01-26 01:47
< >
分享
最佳答案
0

如果不需要下拉框,那么可以不用<select>,网上那些点击后下面弹出自定义选项的,都不是用的<select>,而是通过CSS画出的类似<select>样子的标记,比如<div>、<span>等

最简单的方法,在那个地方放个下拉框样子图片,然后点图的时候弹出你下面那个树

BTW:<select>的下拉是没办法通过JS来关闭的,那个是浏览器本身的行为

奖励园豆:5
丁学 | 专家六级 |园豆:18530 | 2012-01-26 07:41
其他回答(2)
0

默认的select控件是比较难控制的,一般都是通过模拟来实现...

三桂 | 园豆:3565 (老鸟四级) | 2012-01-31 18:27
0
<!DOCTYPE html>
<html>
<head>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>

<select id="select">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

<script>
// 我相信用户是可以接受若干毫秒的闪烁。同时该组件又能保持change等一系列原属性
$('#select').on('focus', function() {
    $(this).hide();
    setTimeout(function(self) {
        self.show();
    }, 0, $(this))
});
</script>
</body>
</html>
kenberkeley | 园豆:204 (菜鸟二级) | 2015-11-06 20:30

谢谢,亲测可用。就是我想要的效果。只是已经无法设为最佳答案了。

支持(0) 反对(0) luotong | 园豆:7 (初学一级) | 2015-11-22 22:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册