2010-09-11 66 views
1

我想知道是否有一种方法可以使用单选按钮来设置文本框的字段值。轨道上的单选按钮红宝石

<%= radio_button("demographics_questionaires", "gender", "Male")%> Male <br\> 
    <%= radio_button("demographics_questionaires", "gender", "Female")%> Female <<br\> 
    <%= radio_button("demographics_questionaires", "gender", "Other")%> 
    Other <%= f.text_field gender %> 

上面的代码是不正确的,但在这方面的东西。

如果选择了其他单选按钮,我希望性别被设置为text_field的值?不知道你如何做这种关联?

Ex。

[单选按钮]男

[单选按钮]女

[单选按钮]其他__________________

其中____________是文本框输入。

最后如果用户选择男性,我希望存储在数据库中的值为“男性”,女性为“女性”或其他用户输入的值。

我有点想处理视图中的所有逻辑。这是可能的还是必须在控制器中完成?

任何意见赞赏,

+2

什么是你期待的 “其他” 的性别? – NullUserException 2010-09-11 03:45:33

+0

他/她? haa跨性别 – darewreck 2010-09-11 05:55:14

+0

@NullUserException,@ user391465:看到这里:http://www.sarahmei.com/blog/2010/11/26/disalienation/ – Zabba 2010-12-27 00:37:47

回答

0

检查此代码。它可以帮助你

<%= form_for @user do |f| %> 
    <%= f.radio_button :email, 'male' %> male<br /> 
    <%= f.radio_button :email, 'female' %> Female<br /> 
    <%= f.radio_button :email, 'others' %> others<br /> 
    <%= f.hidden_field :email %> 
<% end %> 

jQuery脚本

<script type="text/javascript"> 

$("input[type='radio']").change(function(){ 
    if ($('input[type="radio"]:checked').val() == "others") 
    { 
     $('input[type="hidden"]').val('') 
     $('input[type="hidden"]').prop("type", "text"); 
    } 
    else if ($('input[type="radio"]:checked').val() != "others") 
    { 
     $('input[type="hidden"]').prop("type", "hidden"); 
     $('input[type="hidden"]').val($('input[type="radio"]:checked').val()) 
    } 
});