2010-08-05 100 views
9

我想将图标应用于我的Rails应用程序中的jQuery UI风格按钮。该按钮的样式正确,但我无法让图标显示出来!任何人都可以给我任何建议 - 我拉我的头发!不显示JQuery UI按钮图标

我已经做了以下内容:
1)复制的JavaScript文件(jQuery的1.4.2.min.js和jQuery-UI-1.8.2.custom.min.js)公共/ JavaScript的
2)复制整个平滑的主题目录下的公共/ CSS
3)下面的代码添加到我的布局文件,包括相关的文件:

<%=stylesheet_link_tag 'smoothness/jquery-ui-1.8.2.custom', :media => 'screen, projection'%> 
<%=javascript_include_tag 'jquery-1.4.2.min', 'jquery-ui-1.8.2.custom.min', 'application'%> 

4)增加了一个“保存”类的按钮,我想要造型:

<%= submit_tag 'Save Changes', :class => 'save' %> 

5)增加了以下到的application.js文件:

$(document).ready(function() { 
    $(".save").button({ icons: {primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'} }); 
}); 

(直到我得到它的工作,在步骤5中的代码复制,并从文档粘贴 - 我只是改变了选择)

该按钮提取主题的风格 - 但我没有运气让图标出现 - 我错过了一个步骤?

非常感谢,

+0

有'images'上的文件夹'.css' UI文件? – Reigel 2010-08-05 09:13:08

+0

我有平滑度目录中的图像文件夹 - 所以在CSS中的图像的相对路径应该是正确的(理论上!) – Ash 2010-08-05 10:00:05

+0

如果它有帮助 - 以下是生成的源如浏览器所示: Ash 2010-08-05 10:05:20

回答

18

我不知道是否有在jQuery UI的一个bug转换input type="submit"元素jQuery UI的按钮,但是当我改变了加价渲染<button>元素,而不是一个<input type="submit" .../>,它的工作:

<button type="submit" class="save">Save Changes</button>

当然,我只是做这个用静态HTML,不Ruby on Rails的。老实说,我是C#/ ASP.NET MVC开发人员,所以我不确定您是否可以使用RoR渲染按钮元素。如果可以的话,也许这是现在的方向,以防万一它是一个jQuery UI错误。

我能够通过使用输入提交元素使用静态HTML重新创建问题。一旦我切换到HTML <button>控件,它就起作用了。

希望这会有所帮助!

+5

非常感谢 - 我认为这是我做错了事。我更详细地查看了JQuery UI文档,并发现:“使用类型按钮的输入时,提交或重置,支持仅限于没有图标的纯文本标签。”所以,请注意自我阅读整个文档 - 不只是代码! – Ash 2010-08-05 13:07:39

+0

HTML'input'元素不能包含图标,所以是的,你应该使用'button'元素来代替。 – 2013-09-14 03:34:02