2011-07-26 32 views
1

我試圖用Rails切換單選按鈕& jQuery。非常適用於複選框,但不適用於單選按鈕。未選中時jQuery單選按鈕更改

基本上不刷新,如果計費是選中

<%= f.radio_button :billable, 'true', :checked => true, :id => 'billable' %> This is a Billable Project <br /> 
<%= f.radio_button :billable, 'false' %> This is an Internal Project 

<script type="text/javascript" charset="utf-8"> 
    $(document).ready(function(){ 
    $("#billable").change(function() { 
     $("#billing").toggle(); 
    }); 
    }); 
</script> 
+0

你可以發佈這兩個按鈕生成的html代碼嗎? – timaschew

+0

切換是正確的功能 – AlienWebguy

+0

@timaschew 這是一個可結算項目
這是一個內部項目 – Gaelle

回答

-1

試試這個

$(document).ready(function(){ 
    $("#billable").click(function() { 
     $("#billing").toggle(this.checked); 
    }); 
    }); 
+0

爲什麼要投票? – ShankarSangoli

+0

您的代碼將無法使用。它會一直顯示'#billing',但永遠不會隱藏它。你在'#billable'單選按鈕上有一個點擊監聽器。每當你點擊一個單選按鈕時,你總是'檢查'它,所以'this.checked'將總是評估爲真。 – AlienWebguy

+0

好,但如何取消#billable如何隱藏#billing? – Gaelle

0

這是你想要的。

$(document).ready(function(){ 
    $("input[name=billable]").change(function() { 
     $("#billing").toggle(); 
    }); 
    }); 

http://jsfiddle.net/AlienWebguy/KJ9kE/

+0

我試過你的代碼,但沒有工作。這是生成的。我嘗試通過輸入[name = project [billable]] 這是一個可結算項目
這是一個內部項目 – Gaelle

+0

只需將引號添加到您的選擇器:'$(「input [name ='project [billable]']」)' - http://jsfiddle.net/AlienWebguy/KJ9kE/6/ – AlienWebguy

1

通過設置:檢查=>真其被迫總是真的

在控制器

def new 
    @event = Event.new(:billable => true) 
end 

然後在視圖中正確設置默認值

<%= f.radio_button :billable, 'true' %> This is a Billable Project <br /> 
<%= f.radio_button :billable, 'false' %> This is an Internal Project 
+0

如果您嘗試使用單選按鈕顯示隱藏區域,請參閱[我的問題](http://stackoverflow.com/questions/12669525/show-hide-persistence-when-editing-form-where-radio-button-is-used-to-show-hide) – maxcobmara

相關問題