Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jquery ui下拉列表忽略高度_Jquery Ui_Asp.net Mvc 4_Jquery Ui Selectmenu - Fatal编程技术网

Jquery ui jquery ui下拉列表忽略高度

Jquery ui jquery ui下拉列表忽略高度,jquery-ui,asp.net-mvc-4,jquery-ui-selectmenu,Jquery Ui,Asp.net Mvc 4,Jquery Ui Selectmenu,我有几个长的下拉列表,所以我设置了一个高度,这样我就可以得到滚动条。我正在使用jquery selectmenu下拉菜单。所有的下拉菜单都忽略了高度,即使我可以在“开发者”窗口(f12)中看到它,并且没有被覆盖。我尝试了几种方法来应用它: $(".ddl").selectmenu(); CSS: $(".ddl").selectmenu(); 或 $(".ddl").selectmenu(); 或 $(".ddl").selectmenu(); 我确信我已经按照正确的顺序准备好了所有需要

我有几个长的下拉列表,所以我设置了一个高度,这样我就可以得到滚动条。我正在使用jquery selectmenu下拉菜单。所有的下拉菜单都忽略了高度,即使我可以在“开发者”窗口(f12)中看到它,并且没有被覆盖。我尝试了几种方法来应用它:

$(".ddl").selectmenu();
CSS:

$(".ddl").selectmenu();

$(".ddl").selectmenu();

$(".ddl").selectmenu();
我确信我已经按照正确的顺序准备好了所有需要的脚本,因为所有其他jQueryUI的东西都可以找到,即使是在下拉列表中。只是高度被忽略了

$(".ddl").selectmenu();
所有下拉列表都有“ddl”类,这在所有页面的包含页脚中:

$(".ddl").selectmenu();
以下是所包含脚本的列表(按顺序):

$(".ddl").selectmenu();
    <link href="/Content/site.css" rel="stylesheet"/>
    <link href="/Content/custom.css" rel="stylesheet"/>
    <link href="/Content/h-menu.css" rel="stylesheet"/>

    <link href="/Content/themes/skps/jquery-ui.css" rel="stylesheet"/>
    <link href="/Content/themes/skps/jquery-ui.structure.css" rel="stylesheet"/>
    <link href="/Content/themes/skps/jquery-ui.theme.css" rel="stylesheet"/>

    <link href="/Content/themes/grid/ui.jqgrid.css" rel="stylesheet"/>

    <script src="/Scripts/jquery-1.11.1.js"></script>

    <script src="/Scripts/jquery-ui-1.11.1.js"></script>
    <script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
    <script src="/Scripts/jquery.validate.js"></script>
    <script src="/Scripts/jquery.validate.unobtrusive.js"></script>

    <script src="/Scripts/jquery.jqGrid.src.js"></script>
    <script src="/Scripts/grid.locale-en.js"></script>
    <script src="/Scripts/modernizr-2.6.2.js"></script>

如果重要的话,这是一个ASP MVC4应用程序。这是JSFiddle。这是我的第一把小提琴,所以不确定我是否做对了

$(".ddl").selectmenu();

我正试图让它像这样工作:

我知道这有点旧,但我发现了如何使用CSS来实现这一点。您可以直接编辑jquery-ui.structure.css文件,也可以将其应用到页面的.css文件中。编辑jquery-ui.structure.css文件时使用以下内容。(你还可以做很多事情,但这是获得你想要的效果所需要的基本改变。)

$(".ddl").selectmenu();
  • 请注意,溢出属性已被删除,并且溢出-y:auto已被删除 而是增加了
  • 宽度必须加上!重要的
  • 可以使用“高度”而不是“最大高度”,然后将其设置为任意值 您希望的高度,但这样做将导致所有选择菜单 具有相同的高度,即使它有一个或两个选项(因此 在选项列表底部创建空白。使用“最大高度”将确保仅当列表长度超过高度时才使用滚动条
  • 当您的字体大小设置为0.9em时,上面的最大高度将为您提供列表中显示的5个选项。我让您自行进行适当的计算,以获得显示的首选选项数
  • 对于MSIE以外的浏览器,padding right属性是必需的。虽然我发现MSIE可以适当地调整列表的宽度以适应选项的文本,但例如Firefox就没有。添加padding会将边缘的右侧推离文本。不幸的是,在我们使用MSIE时,它会产生令人不快的效果ll,在选项文本右侧造成一个大的空白区域。在这里进行一点MSIE CSS黑客攻击可以解决这个问题,但我只想解决核心问题

  • 如果您希望这是全局性的,请编辑jquery-ui.structure.css文件。我发现这是一个更好的解决方案,因为我可以通过为每个受影响的页面应用不同的max-height属性来微调每页的高度(我自己将css文件转换为Sass,使事情变得更简单)。

    修改代码:)选择的呈现由您的浏览器/操作系统控制,您的
    .css
    不受影响。有关更多详细信息,请参阅现在仅适用于页面的第一个下拉列表。我认为'addclass'函数只会将类添加到第一个类中。还在研究中。我遇到了相同的问题,addClass函数只将该类应用于第一个selectMenu下拉菜单。你找到解决办法了吗?
    $(".ddl").selectmenu();