0
我有一個表單,它有8個可選的單選按鈕,用於屬性:mvp和最後的選擇下拉菜單。我希望用戶能夠按下單選按鈕來選擇其中一個相應的值,或者不選擇單選按鈕並從選擇下拉菜單中選擇一個選項。他們不能同時從選擇字段中選擇單選按鈕和選項。這是我的代碼。請指教。如何在軌道中使用單選按鈕並選擇表單中的XOR異或?
HTML
<%= form_for(current_user.awards.build) do |f| %>
<%= f.radio_button :mvp, 'Stephen Curry' %>
<%= f.radio_button :mvp, 'Lebron James' %>
<%= f.radio_button :mvp, 'Kevin Durant' %>
<%= f.radio_button :mvp, 'Russell Westbrook' %>
<%= f.radio_button :mvp, 'Kawhi Leonard' %>
<%= f.radio_button :mvp, 'Karl-Anthony Towns' %>
<%= f.radio_button :mvp, 'Chris Paul' %>
<%= f.select :mvp, ['Al Horford', 'Al Jefferson', 'Andre Drummond', 'Andre Igoudala','Andrew Wiggins', 'Anthony Davis', 'Austin Rivers', 'Ben Simmons', 'Blake Griffin', 'Brook Lopez', 'Carmelo Anthony', 'Chandler Parsons','Chris Bosh', 'Damian Lillard', 'Deandre Jordan', 'Demar Derozan', 'Demarcus Cousins', 'Derrick Favors', 'Dirk Nowitzki', 'Draymond Green', 'Dwight Howard', 'Dwyane Wade', 'Eric Bledsoe', 'Giannis Antetokounmpo', 'Greg Monroe', 'Goran Dragic', 'Gordon Hayward', 'Harrison Barnes','Hassan Whiteside', 'Isaiah Thomas', 'Jahlil Okafor', 'James Harden', 'James Jones','Jeff Teague', 'Jimmy Butler', 'John Wall', 'Kemba Walker','Kevin Love', 'Khris Middleton', 'Klay Thompson', 'Kristaps Porzingis', 'Kyle Lowry', 'Kyrie Irving', 'Lamarcus Aldridge', 'Marc Gasol', 'Mike Conley', 'Nerlens Noel', 'Nicolas Batum', 'Nikola Pekovic', 'Pau Gasol', 'Paul George', 'Paul Millsap','Ricky Rubio','Rudy Gobert', 'Victor Oladipo', 'Zach Lavine'], include_blank: "Select One" %>
<%= f.submit "Submit Pick" %>
截至現在,如果我嘗試填寫表格,無論我按在單選按鈕什麼選項,總是被提交的值是一個選擇框中。我在select字段的末尾添加了include_blank:選項,但是提交的值只是一個空值。因此,出於某種原因,默認提交是在選擇字段中選擇的內容。
好吧,那是因爲你對單選按鈕和選擇標記具有相同的*名稱*。你需要有uniq名字,否則最後一個*永遠贏*。 –
@ArupRakshit哇,這是有道理的,我怎麼做一個不同的名字? :mvp是我的表單中提交的值的屬性。我將如何給他們一個自定義標籤? – Joe
給出不同的名稱,然後在控制器內執行'if else'檢查,並將這些自定義名稱值分配給實際屬性。你需要編寫2-3行代碼來作出決定並在將它們發送給AR創建/更新之前調整參數。現在清除? :) –