2009-06-11 22 views
13

Làm cách nào để thêm sự kiện onchange vào đây?Cách thêm sự kiện onchange để chọn thẻ trong đường ray

Khung: ray
Cơ sở dữ liệu: MySQL

Tôi Populating các tùy chọn từ cơ sở dữ liệu và điều đó khiến tôi sử dụng options_from_collection_for_select

select_tag(:variable,options_from_collection_for_select(:all, :id, :name)) 

Trả lời

18

select_tag mất một băm options như tham số cuối cùng của nó, trong đó bạn có thể thêm bất kỳ thuộc tính HTML nào cho lựa chọn. Vì vậy, để thêm một onchange thuộc tính:

select_tag :variable, options_from_collection_for_select(:all, :id, :name), :onchange => 'your_onchange_handler()' 
+1

tôi sẽ có thể xác định một hành động trong một bộ điều khiển như một sự kiện onchange? nếu không, làm thế nào để tôi làm điều đó sau đó? – Nave

+1

Tôi không hoàn toàn chắc chắn ý của bạn là gì? –

+0

tôi có một hành động trong bộ điều khiển của tôi sẽ được thực thi và không phải là trình xử lý sự kiện javascript. tôi sẽ có thể làm điều đó với sự kiện onchange hoặc có cách nào khác không? – Nave

7

thử một cái gì đó như:

:onchange => remote_function(:url => {:controller => 'controller', :action => 'action'}) 
+1

chỉ hoạt động với những người trợ giúp nguyên mẫu, được loại trừ khỏi Rails 3.0. 9 http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function – damoiser

2

Đối với một select_tag, chỉ cần thêm:

{:onchange => "myHandler();" } 

Ngoài ra, nếu onchange không hoạt động bạn có thể muốn để thử onChange với số vốn C.

Cuối cùng, hãy đảm bảo KHÔNG T ĐỂ CONFUSE một select_tag với một hình thức chọn.

Xem câu trả lời của tôi cho một câu hỏi tương tự, chỉ liên quan đến một hình thức lựa chọn và không phải là một select_tag

Adding An Onchange Event To A Form Select

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