【问题标题】:How do I add the jqueryui selectmenu plugin to my page?如何将 jqueryui 选择菜单插件添加到我的页面?
【发布时间】:2011-05-08 09:25:48
【问题描述】:

我正在尝试将 selectmenu jqueryui 插件添加到我的页面。我去了https://github.com/fnagel/jquery-ui 并从ui 文件夹中复制了文件jquery.ui.selectmenu.js。然后,我从我的页面中包含了指向此 javascript 的链接。我重新安装了 jquery 和 jqueryui,其他功能还可以,但是当我在我的页面上添加 $('select').selectmenu(); 时,我最终会遇到可怕的混乱。所有新的选择菜单都附加到页面底部,而不是替换选择。

有没有我遗漏的步骤?

以下是页面中的 html,显示了我链接到的文件。我的理解是 custom.css 和 custom.min.js 文件应该包含我需要的所有脚本和样式表。这是错的吗?

<link href="/stylesheets/jquery-ui-1.8.6.custom.css?1289473366" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/jquery-1.4.2.min.js?1288662624" type="text/javascript"></script>
<script src="/javascripts/jquery-ui-1.8.6.custom.min.js?1289401432" type="text/javascript"></script>
<script src="/javascripts/jquery.ui.selectmenu.js?1289469657" type="text/javascript"></script>

我的页面上的日期选择器项目显示为应用了适当的 css。

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-plugins


    【解决方案1】:

    jquery.ui.selectmenu.js 文件有一个小问题。

    一个 div 被附加在 body 的末尾,而不是被插入到 select 的元素之后。所以如果你只有一个选择它工作正常。如果要添加多个选择,则需要从以下位置更改插件:

    ...
    this.listWrap = $( "<div />", {
            'class': self.widgetBaseClass + '-menu'
        }).append( this.list ).appendTo( o.appendTo );
    ...
    

    到:

    ...
    this.listWrap = $( "<div />", {
            'class': self.widgetBaseClass + '-menu'
        }).append( this.list ).insertAfter( this.element );
    ....
    

    【讨论】:

      【解决方案2】:

      据我所知,您正在使用 fork jQuery UI 版本的 selectmenu,并且您需要适当的样式才能获得 @brad 首先注意到的预期结果。

      只添加

      jquery-ui-1.8.6.custom.css

      作为参考不能解决您的特定选择菜单要求,您需要添加另一个 css 参考,其中将包含选择菜单元素的正确样式规则。

      【讨论】:

      • 我指的是@Simon,而不是@brad,抱歉。
      • 啊,这已经非常接近解决方案了。我现在已经包含了选择菜单分支的主题/基本目录中的 jquery.ui.selectmenu.css 文件。这改善了一些事情,但选择的显示仍然存在重大问题。我还需要包含另一个文件吗?我需要制作一个特定的 css 文件来匹配我使用的主题吗?
      • 我相信您将需要参考其他 css 文件 关键是 jquery UI 样式表的组织方式是您必须包含一些适用于所有 UI 插件和插件的基本样式规则-具体的。这样,即使在一个页面中组合不同的插件,您也可以确保用户界面的一致性。
      【解决方案3】:

      selectmenu() 不会触发错误的事实表明插件已正确加载。混乱的显示可能是由于缺少 css 文件造成的。您是否包含了主题文件夹或 jquery ui 中所有必要的 css 文件?

      【讨论】:

      • 我想我已经包含了我需要的一切。我用一些关于我所包含内容的信息扩展了这个问题。我错过了什么吗?
      猜你喜欢
      • 2012-08-29
      • 2013-07-24
      • 1970-01-01
      • 2022-01-24
      • 2015-02-14
      • 2023-04-09
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多