2011-10-10 23 views
0

階段: 我使用的是嵌套模型,因此我們有兩個模型:personcar。 在這裏你有new.html.erb頁:如何知道Rails 3上html字段的id?

<%= form_for(@person do |f| %> 
    ... 
    <%= f.fields_for :cars do |car| %> 
    <div class="field"> 
     <%= car.label :color %><br /> 
     <%= car.text_field :color, :maxlength => 7 %> 
    </div> 
    <% end %> 
    ... 
<% end %> 

該代碼會產生每節車廂:

<form ...> 
    ... 
    <div class="field"> 
    <label for="person_cars_attributes_0_color">Car color</label><br /> 
    <input id="person_cars_attributes_0_color" 
      name="person[cars_attributes][0][color]" 
      size="7" type="text" /> 
    </div> 
    ... 
</form> 

現在假設我們需要把一些JavaScript代碼,每個輸入字段,產生像這樣:

<script type="text/javascript"> 
     $(document).ready(function() { $('#person_cars_attributes_0_color').mycolorpicker(); }); 
    </script> 
    <input id="person_cars_attributes_0_color" 
      name="person[cars_attributes][0][color]" 
      size="7" type="text" /> 

注意,我們需要在JavaScript代碼輸入字段id(在本例person_cars_attributes_0_color)。

問題:我們如何獲得每個html字段生成的id值?

非常感謝您的幫助。 如果您需要更多詳細信息,請隨時問我任何問題。

回答

1

如何將有問題的字段分配給您事先確定的ID或類?

new.html.erb

<%= form_for(@person do |f| %> 
    ... 
    <%= f.fields_for :cars do |car| %> 
    <div class="field"> 
     <%= car.label :color %><br /> 
     <%= car.text_field :color, :maxlength => 7, :class => 'colorpicker' %> 
    </div> 
    <% end %> 
    ... 
<% end %> 

的JavaScript:

$(document).ready(function() { 
    $('.colorpicker').mycolorpicker(); 
}); 
+0

It太容易了,非常感謝,我在JavaScript和jQuery世界裏也很喜歡這裏。 – Israel

1

我強烈建議您查看Ryan Bates的nested_form寶石。我認爲它會照顧你想要做的一切。

+0

Janders223,非常感謝您的回覆。我會檢查它,我會回覆任何進度。 – Israel

+0

嗨,我看過這些視頻,它是類似的,但我仍然不知道如何得到解決我的問題。 :( 如果您知道,請指導我一點 – Israel

+0

嵌套在nested_form gem後面的javascript會爲您添加的每個div添加適當的id,然後您插入的每個新div都會有一個id爲person_cars_attributes_new_color的設備 – janders223

相關問題