2008-10-22 53 views
2

我有一個部分是使用下面的方法呈現一個選擇框:重用一個頁面上的諧音多次在Ruby on Rails的

<%= collection_select 'type', 'id', @types, "id", "name", 
    {:prompt => true}, 
    {:onchange => 
       remote_function(
       :loading => "Form.Element.disable('go_button')", 
       :url => '/sfc/criteria/services', 
       :with => "'type_id=' + encodeURIComponent(value) + '&use_wizard=#{use_wizard}'"), 
    :class => "hosp_select_buttons" 
} %> 

這部分被使用在每一頁上2倍,但在一個點我需要獲得第一個選擇框的值。使用:

$('type_id') 

返回第二個選擇框。有沒有辦法輕鬆找到第一個?我應該使用JavaScript解決這個問題還是通過重做我的部分?

注意:下拉列表會以單獨的形式呈現。

回答

1

是的,每個元素確實需要一個唯一的ID,頁面可能也會失敗HTML驗證。另外,除非它們有兩種不同的形式,否則您將與CGI參數名稱發生衝突。

如果他們有兩種不同的形式,你也許可以逃脫只需設置:ID爲您發佈,如果他們需要抽象的參數名稱也相同的形式:

collection_select「類型」, 「id_wizard _#{use_wizard}」...

1

我想通過在html_options塊中分配一個ID來做到這一點。我已經傳入了use_wizard的值,所以我可以將該值附加到ID以區分兩個下拉列表。

:id => "type_id_wizard_#{use_wizard}"