Mục tiêu: Để triển khai plugin jQuery cho ứng dụng đường ray của tôi (hoặc viết một bản thân, nếu cần) sẽ tạo "hộp" xung quanh văn bản sau khi nhập dấu phân cách.Cách triển khai plugin gắn thẻ cho jQuery
Ví dụ: Với gắn thẻ trên SO, người dùng bắt đầu nhập thẻ, sau đó chọn một từ danh sách thả xuống được cung cấp. Trường nhập nhận ra rằng thẻ đã được chọn, đặt một khoảng trắng và sau đó sẵn sàng cho thẻ tiếp theo. Tương tự, tôi đang cố gắng sử dụng this plugin để đặt một hộp xung quanh thẻ đã nhập trước đó trước khi chuyển đến để chấp nhận thẻ/đầu vào tiếp theo.
Các hướng dẫn trong README.txt dường như đủ đơn giản, tuy nhiên tôi đã nhận được một
$ ("tagbox"). Tagbox không phải là một chức năng
lỗi khi gỡ lỗi của tôi ứng dụng với firebug.
Đây là những gì tôi có trong application.js tôi:
$(document).ready(function(){
$('.tagbox').tagbox({
separator: /\[,]/ // specifying comma separation for <code>tags</code>
});
});
Và đây là _form.html.erb tôi:
<% form_for @tag do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= text_field :tag, :name, { :method => :get, :class => "tagbox" } %>
</p>
<p><%= f.submit "Submit" %></p>
<% end %>
tôi đã bỏ qua một số mã khác (cụ thể là việc thực hiện một plugin tự động hoàn chỉnh) hiện có trong _form.html.erb và application.js của tôi vì mục đích dễ đọc. Việc bao gồm hoặc loại trừ mã bị bỏ qua này không ảnh hưởng đến hiệu suất của plugin này.
Tôi đã bao gồm tất cả các tệp cần thiết cho plugin hộp thẻ (cũng như application.js sau tất cả các tệp JS khác) trong javascript_include_tag trong tệp application.html.erb của tôi.
Tôi khá bối rối về lý do tại sao tôi nhận được lỗi "không phải là một hàm" này khi jquery.tagbox.js định nghĩa rõ ràng chức năng và được bao gồm trong phần đầu trang html của tôi được đề cập. Tôi đã đấu tranh với plugin này lâu hơn tôi muốn thừa nhận, vì vậy bất kỳ trợ giúp nào thực sự sẽ được đánh giá cao. Và, tất nhiên, tôi đang mở cho bất kỳ plugin hoặc đề xuất từ đầu khác mà bạn có thể lưu ý ..
Plugin hộp thẻ này dường như không có tài liệu phong phú hoặc bất kỳ ví dụ nào đang hoạt động.
Cũng cần lưu ý, tôi đang cố gắng tránh sử dụng các mẩu đất.
Cảm ơn thời gian của bạn
Bạn có chắc chắn * rằng "jquery.tagbox.js" tải thành công không? – James
Bạn đang đề cập đến nếu nó thực sự kết thúc được bao gồm trong khối Head của chế độ xem html của tôi? Nếu vậy, có cho câu hỏi đó .. – anxiety
Chỉ cần sử dụng một plugin thẻ jQuery khác. – stagas