2012-12-06 2 views
0

가지고있는 것을 구현하고 싶습니다. 사용자에게 전자 메일을 보내시겠습니까? 예 또는 아니오 라디오 버튼이 있습니다. 그리고 라디오 버튼이 예라고 할 때만. 그 아래의 텍스트는 사람이 보낼 전자 메일 내용을 채울 수 있도록해야합니다. 이것은 전자 메일 내용에 대한 것이지만 단추에 종속되도록하는 방법을 모르겠습니다.Ruby on rail은 참이 아닌 한 폼을 채울 수 없습니다.

<div align="center"> 
    Open orders? 
    &nbsp;&nbsp; 
    Yes 
    <%= f.radio_button :orders_open, true, :class=>"radio-control"%> 
    &nbsp;&nbsp; 
    No 
    <%= f.radio_button :orders_open, false, :class=>"radio-control"%> 

</div> 

<br> 

<div align="center"> 

    Email users? 
    &nbsp;&nbsp; 
    Yes 
    <%= f.radio_button :email_users, true, :class=>"radio-control"%> 
    &nbsp;&nbsp; 
    No 
    <%= f.radio_button :email_users, false, :class=>"radio-control", :checked => true %> 

</div> 
<br> <br> 
<div class="control-group"> 
    <label class="control-label"> 
    <%= f.label :email_content, "Note to users" %> 
    </label> 
    <% if @application_state.orders_open %> 
    <div class="controls"> 
     <%= f.text_area :email_content %> 
    </div> 
    <% else %> 
    <div class="controls"> 
     <%= f.text_area :email_content %> 
    </div> 
    <% end %> 
</div> 
+1

안녕 @Newcastle을,이 질문은 이해하기가 매우 어렵다. 질문 부분에는 부분 문장과 서식이 없습니다. 코드 부분은 일부 파일의 일부인 것처럼 보입니다. 프레이싱 및 서식 지정을하면 훨씬 더 좋은 반응을 얻게 될 것입니다. 'edit' 링크를 클릭하여 질문을 업데이트 할 수 있습니다. –

답변

1

JavaScript를 사용하면 쉽게 원할 것입니다. 라디오 버튼의 선택 변경시 이벤트를 바인딩하고 필요한 조건에 따라 email_content 텍스트 영역을 활성화 또는 비활성화합니다.

<input type="radio" id="no" name="email_users"/> 
<input type="radio" id="yes" name="email_users"/> 
<textarea rows="4" cols="50" id="email_content"> 
</textarea> 

는 jQuery를 사용하여 문제 해결 :

jQuery("input[name=email_users]").change(function (e) { 
    if(this.id === "yes") { 
    jQuery("#email_content").attr('disabled', 'disabled'); 
    } 
    else if(this.id === "no"){ 
    jQuery("#email_content").removeAttr('disabled');; 
    } 
} 
관련 문제