2012-07-20 48 views
0

在Chrome中,某些情况下拉列表项与滚动条一起出现,我想在下拉单击时显示没有滚动条的所有项目,在我的情况下,所有项都可以在下拉列表中,但只有一个显示并需要滚动以查看其他人。下拉列表中带有滚动条在铬中

下面给出的代码。

<div class="controls"> 
          <select name="teamId" id="teamIdSel" class="span2" > 
           <?php foreach ($team_list as $team): ?> 
            <option class="teamSelOpt" diviID="<?php echo $team->division_id; ?>" value="<?php echo $team->team_id; ?>" <?php if ($team->team_id == $teamId) { ?> selected <?php } ?> ><?php echo $team->name; ?></option> 
           <?php endforeach; ?>  
          </select> 
         </div> 

<input type="button" onclick="onChangeDivision('10', null, null)"/> 

在这里,我动态显示和隐藏选项在JavaScript中使用“diviID”。

javascript function below below。

function onChangeDivision(id, teamId, clientUserID){ 
    if(id){ 
     $('.teamSelOpt').each(function() { 
      var diviId = $(this).attr("diviID"); 
      if(diviId == id){ 
       $(this).show(); 
      }else{ 
       $(this).hide(); 
      } 
     }); 
} 
} 

当我删除“$(this).hide();”代码从功能它将正常工作。但结果将违反我的要求。

+0

所以,你要改变标准所有的浏览器, SELECT每个人都知道多年的正常行为?你确定? – 2012-07-20 11:03:52

+1

让你自己使用JavaScript。 – 2012-07-20 11:05:14

+0

不要使用w3schools ...他们误导/错误/不完整/骗子/等..资源不足。最好坚持哟mdn或msdn – rlemon 2012-07-20 11:12:30

回答

0

您必须使用列表来显示onhover/onclick,就像Google在Google plus中所做的一样。您无法隐藏下拉列表的滚动条。

0

通常这些选择,文件上传等都是浏览器,特定于操作系统,所以我们不能按照我们的意愿设计它们。 才达到一致性超过了选择框所有的浏览器有两种方法

方法一: -

可以使用的div或UL &里,它的位置是绝对在需要的地方,并显示创建自己的弹出式的东西它点击框。

方法2: -

,你可以简单地使用jQuery插件dropkick,通过它可以样式选择框,你想,他们会寻找相同的