2012-10-14 3 views
0

레일 3에서 nested_form을 사용하고 있으며 사용자가 추가하거나 제거 할 수있는 동적 필드가 있습니다.레일스 동적 필드 선택기

필드 사이에 자바 스크립트 계산을 할 수 있도록 jquery selector를 알아야합니다. 현재 동적 필드에는 필드로 설정된 현재 날짜 시간이 있습니다. 사람들은 어떻게 동적 필드 유효성 검사를 어떻게 처리합니까?

<%= nested_form_for [@project, @quote], :html => {:class =>'form-inline'} do |f| %> 
<div> 
    <%= f.hidden_field :project_id %> 
    <%= f.label :name %> 
    <%= f.text_field :name %> 
    <%= f.label :status %> 
    <%= f.text_field :status %> 
</div> 
    <p> 
    <h4> Labour Items </h4> 
    </p> 
    <p> 
    <%= f.fields_for :labouritems, :html => { :class => 'form-vertical' } do |builder| %> 

    <%= builder.label :description %> 
    <%= builder.text_field :description, :class => "input-medium" %> 
    <%= builder.label :hours %> 
    <%= builder.text_field :hours, :class => "input-mini" %> 
    <%= builder.label :total %> 
    <%= builder.text_field :total, :class => "input-mini" %> 
    <%= builder.label "Mup/Hr" %> 
    <%= builder.text_field :muphourrate, :class => "input-mini" %> 
     <%= builder.label "Mup/Total" %> 
    <%= builder.text_field :muptotal, :class => "input-mini" %> 
    <%= builder.label "Mup/%" %> 
    <%= builder.text_field :muppercent, :class => "input-mini" %> 
    <%= builder.label "Contractor" %> 

    <%= builder.autocomplete_field :contractor_name, autocomplete_contractor_firstname_contractors_path, :update_elements => {:id => "##{form_tag_id(builder.object_name, :contractor_id)}" , :hourly_rate => "##{form_tag_id(builder.object_name, :contractor_rate)}" },:class => "input-small",:placeholder => "Seach" %> 
    <%= builder.hidden_field :contractor_id %> 
    <%= builder.label "Rate/hr" %> 
    <%= builder.text_field :contractor_rate,:class => "input-mini" %> 
    <%= builder.label "Work %" %> 
    <%= builder.text_field :progress_percent, :class => "input-mini" %> 
    <%= builder.label "Work $" %> 
    <%= builder.text_field :progress_payment, :class => "input-mini" %> 

    <%= builder.link_to_remove "Delete",:class => 'btn btn-small btn-danger' %> 

    <% end %> 

    <%= f.link_to_add "Add Item", :labouritems, :class => 'btn btn-small btn-primary' %> 
</p> 

답변

0

유효성 검사가 필요한 정보 유형을 모르겠지만 이와 같은 것이 도움이됩니다. 유효성을 검사하려는 모든 필드에는 클래스 또는 ID가 필요합니다. 특정 질문을 특정 방식으로 확인해야하는 경우 ID를 부여하고 $("#elements_id")을 사용하여 jQuery를 선택하십시오.

$(".form-inline").submit(function(){ 

    $.each($(".input-mini"), function(){ 
    if($(this).val() == ""){ 
     $("#warnings").html("<p> Ooops, you forgot something </p>"); // Warn 
     return false; // Don't submit 
    } 
    } 

});