我需要一個解決方案來隱藏/顯示覆選框,具體取決於單選按鈕的選擇。我嘗試了不同的解決方案,但我可以讓他們工作。Rails 3 - 依賴於單選按鈕選擇的複選框
上下文: 我有一羣聯繫人可以關聯到一個企業。用戶可以選擇多個聯繫人,但必須選擇一個主要聯繫人。因此,我有一個單選按鈕組讓所有聯繫人選擇主要聯繫人,並且我有一個複選框組,讓所有聯繫人再次選擇「其他」聯繫人。
需要: 現在,我想要做的是,當用戶選擇單選按鈕組中的主要聯繫人,該聯繫人將被從「其他聯繫人」複選框組中刪除,因此用戶不能選擇相同聯繫兩次。我可以使用JQuery以及普通的JavaScript。
CONSTRAINT: 單選按鈕組以及複選框組是使用Rails標籤助手動態創建的。所以對於元素的ID和名稱來說很棘手。另外,業務和聯繫人之間還有一個很大的差距。
所以單選按鈕,我有:
<% @contacts.each do |contact| %>
<li><%= radio_button_tag 'primary_contact', contact.id, @primary_contact == contact, :class => 'radio'%> <%= contact.name %>, <%= contact.contact_type.name %></li>
<% end %>
而對於複選框組,我有:
<%= hidden_field_tag 'business[contact_ids][]', "" %>
<% @contacts.each do |contact| %>
<li><%= check_box_tag 'business[contact_ids][]', contact.id, @business.contacts.include?(contact), :class => 'radio' %> <%= contact.name %>, <%= contact.contact_type.name %></li>
<% end %>
關於其他設計任何建議(使用單選按鈕和複選框... )實現我的目標非常受歡迎。
感謝 阿蘭
感謝@ D3mon,它的工作原理。但是,如果我刪除元素,則會出現另一個問題。如果我的用戶選中一個單選按鈕,相應的複選框就會消失,但是如果他選擇了另一個單選按鈕,則刪除的複選框不會再出現在列表中! – Alain
檢查編輯。 –
太棒了! +1,以便對我的評論做出快速響應。非常非常感謝你。 – Alain