2010-08-05 37 views
9

Tôi đang cố gắng áp dụng biểu tượng cho nút kiểu giao diện người dùng jquery trong ứng dụng Rails của mình. Nút được tạo kiểu đúng nhưng tôi không thể hiển thị biểu tượng! Bất cứ ai có thể cho tôi bất kỳ lời đề nghị - Tôi kéo tóc ra!Biểu tượng Nút giao diện người dùng JQuery không hiển thị

tôi đã thực hiện như sau:
1) sao chép các tập tin javascript (jquery-1.4.2.min.js và jquery-ui-1.8.2.custom.min.js) cho công chúng/Javascripts
2) Sao chép toàn bộ thư mục chủ đề êm ái đến dưới công cộng/css
3) thêm đoạn mã sau vào file layout của tôi để bao gồm các tập tin liên quan:

<%=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) thêm một 'tiết kiệm' lớp để nút I muốn tạo kiểu:

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

5) Thêm dòng sau vào file application.js:

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

(Cho đến khi tôi nhận được nó làm việc, các mã trong bước 5 được sao chép và dán từ các tài liệu - Tôi vừa mới thay đổi selector)

Nút chọn kiểu dáng của chủ đề - nhưng tôi không có may mắn để các biểu tượng hiển thị - tôi có bỏ lỡ một bước không?

Nhiều Cảm ơn,
Ash

+0

là có thư mục 'images' trên' file ui .css' của bạn? – Reigel

+0

Tôi có thư mục hình ảnh trong thư mục mượt mà - vì vậy các đường dẫn tương đối cho hình ảnh trong css phải đúng (theo lý thuyết!) – Ash

+0

Nếu nó trợ giúp - sau đây là nguồn được tạo như được hiển thị trong trình duyệt: Ash

Trả lời

18

Tôi không biết nếu có một lỗi trong jQuery UI để chuyển đổi input type="submit" yếu tố để nút jQuery UI, nhưng khi tôi thay đổi mark-up để render một yếu tố <button> thay vì một <input type="submit" .../>, nó làm việc:

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

Cấp, tôi chỉ làm điều này với HTML tĩnh, không Ruby on Rails. Thành thật mà nói, tôi là một nhà phát triển C#/ASP.NET MVC, vì vậy tôi không chắc liệu bạn có thể hiển thị phần tử nút bằng RoR hay không. Nếu bạn có thể, có thể đó là hướng để thực hiện ngay bây giờ trong trường hợp đó là lỗi giao diện người dùng jQuery.

Tôi đã có thể tạo lại sự cố với HTML tĩnh bằng cách sử dụng phần tử gửi đầu vào. Nó hoạt động sau khi tôi chuyển sang kiểm soát HTML <button>.

Hy vọng điều này sẽ hữu ích!

+5

Cảm ơn rất nhiều - Tôi đã cho rằng đó là điều tôi đã làm sai. Tôi đã xem xét tài liệu về giao diện người dùng JQuery chi tiết hơn và phát hiện: "Khi sử dụng đầu vào của nút loại, gửi hoặc đặt lại, hỗ trợ bị giới hạn đối với các nhãn văn bản thuần túy không có biểu tượng.".Vì vậy, lưu ý để tự đọc toàn bộ tài liệu - không chỉ là mã! – Ash

+0

Các phần tử HTML 'input' không thể chứa các biểu tượng, vì vậy, bạn nên sử dụng phần tử' button' để thay thế. –

1

Tôi gặp sự cố tương tự về dự án JSF/Facelets bằng giao diện người dùng JQuery. Nó chỉ ra rằng tôi cần phải sao chép tất cả các tập tin hình ảnh được tham chiếu bởi giao diện người dùng JQuery CSS vào một thư mục có tên là "hình ảnh" như một thư mục con của thư mục mà tôi đặt tệp CSS UI JQuery.

file hình ảnh: http://code.google.com/p/jquery-ui/source/browse/branches/labs/assets/theme/images

Các vấn đề liên quan