0

我在 IE 中阅读了文章Dropdownlist width ,但不幸的是我无法适应我的需要。

我有一个选择列表,其中包含一些在新窗口中打开 URL 的选项,我使用下面的 jQuery:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

链接选择列表选项的脚本如下:

<script type="text/javascript">
  $(document).ready(function() { 
  $('.openSelect').change(function(){ 
    var selectedValue=$(this).val(); 
      if (selectedValue.match(/http/)) { 
       var open = window.open($(this).val(),'_blank'); 
       if (open == null || typeof(open)=='undefined'){ 
       alert("Please turn off pop-up blocker and reload this page to visit:  " + selectedValue); 
       }
 }
});
});
</script>

我的问题是下拉菜单宽度受到 IE6、7 和 8 中表格单元格宽度的限制,所以我必须以某种方式修复它以扩展为最长选项内容的宽度。唯一的限制是我必须保留上面的脚本并以某种方式修改它,而不是完全改变它。

以下页面给出了选择列表的示例: http ://www.myairlease.com/available/available_for_lease_737

4

3 回答 3

0

我查看了描述插件的页面的源代码,他们使用的内容与他们在说明中给出的完全不同......

有人可以帮助解决如何进行吗?

谢谢

于 2013-04-14T18:03:31.757 回答
0

谢谢您的帮助!!

我尝试使用 LinkSelect 插件,但我肯定做错了什么。 http://www.givainc.com/labs/linkselect_jquery_plugin.htm#options

我的选择标签如下

<select class="openSelect" style="width:px; color:#0066ff;">

所以我只是在头部加载以下内容:

<script type="text/javascript" src="js/jquery.linkselect.min.js"></script>
<script type="text/javascript" src="js/jquery.bgiframe.js"></script>
<link type="text/css" href="css/jquery.linkselect.css" rel="stylesheet" media="all" />

并将我的脚本更改为以下内容?

<script type="text/javascript">
$(document).ready(function() { 
 $('.select.openSelect').openSelect();
  $('.openSelect').change(function(){ 
  var selectedValue=$(this).val(); 
  if (selectedValue.match(/http/)) { 
       var open = window.open($(this).val(),'_blank'); 
       if (open == null || typeof(open)=='undefined'){ 
       alert("Please turn off pop-up blocker and reload this page to visit:  " + selectedValue); 
       }
     }
  });
});
</script>

我试过了,它不起作用,所以知道我的错误在哪里吗?

谢谢

于 2013-04-08T19:40:48.393 回答
0

您遇到的问题是 IE8 和更早版本使用操作系统的内置下拉框控件来处理 HTML 选择框。所有其他浏览器,包括 IE9 和更高版本都会自己呈现选择框,但 IE6/7/8 不会。

这带来了许多怪癖和限制,您看到的效果是最明显的效果之一。

简短的回答是,在 IE8 和更早版本中没有办法强制标准选择框显示比选择框本身更宽的字符串。有一些 hacky 的变通方法,但它们并不能很好地工作,尤其是当您处理基于表格的布局时。

更长的答案是,如果您需要这样做,那么您唯一的选择是使用自定义选择框控件。有许多 jQuery 插件用它们自己的覆盖默认选择框。有很多负载可供选择,并且它们具有各种不同的功能,因此我不会推荐特定的功能,而是将您定向到列出了十个最佳功能的网站。可以肯定的是,至少其中一些会按照您需要的方式工作。

一般来说,它们使用起来非常简单,并且不需要对您的 HTML 代码进行任何更改;只需在您的文档准备功能中添加一点额外的 javascript 即可激活它们。

我希望这会有所帮助。

于 2013-04-03T20:59:19.933 回答