2014-09-23 46 views
0

如何設置一個複選框爲真或假。我已經嘗試了所有這些組合:我如何更改軌道中的複選框?

<%= check_box_tag 'prefs[can_be_email_notified]', :id => 'user_preferences_can_email'%> Email 
<%= check_box_tag 'prefs[can_be_email_notified]', '', :id => 'user_preferences_can_email'%> Email 
<%= check_box_tag 'prefs[can_be_email_notified]', '', :checked =>'',:id => 'user_preferences_can_email'%> Email 

試圖與這些

document.getElementById("user_preferences_can_email").checked = true; 
document.getElementById("user_preferences_can_email").value = true; 
document.getElementById("user_preferences_can_email").checked.value = true; 

改變複選框也許我不是清楚.. 。

我有一組被設置爲按鍵值,並想改變複選框的要檢查或取消選中detirmed上的按鈕設置的值,

即:

function doubleClickUser(can_email, can_screen) { 
     document.getElementById("user_preferences_can_email").checked = can_email; 
     document.getElementById("user_preferences_can_screen").checked = can_screen; 
} 

<button class="button" onclick="doubleClickUser('true','false')"><%= user[:email] %></button> 

<%= check_box_tag 'prefs[can_be_email_notified]', :id => 'user_preferences_can_email'%> Email 
<%= check_box_tag 'prefs[can_be_screen_notified]', :id => 'user_preferences_can_screen' %> Screen 

回答

0

設置字段價值在您的控制器或模型,然後簡單地包括標準軌道形式的元素:

# controller 
@pref = Pref.new (or Pref.find(params[:id]) 

# view 
<%= form_for @pref do |f| %> 
    <%= f.label :can_be_email_notified %> 
    <%= f.check_box :can_be_email_notified %> 
<% end %> 

這將反映can_be_email_notified @pref的值。

+0

我會那樣做......但是這是由在自定義模式的API和設定值送了過來。無法使用form_for助手,因爲這種形式是作爲一個API ...沒有數據存儲在本地 – 2014-09-23 16:38:47

0

如果您想進行檢查試試這個:

EMAIL 
<%= check_box_tag "email",params[:email].to_s , {:checked => true} %> 

此外,如果你想assing一個值,你可以試試這個:

<%= check_box_tag "email", "5", params[:email].to_s == "5", {:checked => true} %> 
0

想通了,你必須將狀態設置爲false第一

<%= check_box_tag 'prefs[can_be_email_notified]', '', false, :id => 'user_preferences_can_email' %> Email <br> 
<%= check_box_tag 'prefs[can_be_screen_notified]', '', false, :id => 'user_preferences_can_screen' %> Screen <br> 
<%= check_box_tag 'prefs[can_be_sms_notified]', '', false, :id => 'user_preferences_can_sms' %> Text </div></th>