我有一个这样的表格:
<%= form_tag project_configure_select_path , :method => :put do %>
Select The Type Of Project<%= select_tag "type", "<option>Agile</option><option>Sales</option>".html_safe %>
<br/>
<label class="agile">
<%= check_box_tag 'modules_enabled[]', "time_tracking", false, :id => "project_enabled_module_names_time_tracking", :checked => "checked", :type => "hidden" %>
<%= check_box_tag 'modules_enabled[]', "issue_tracking", false, :id => "project_enabled_module_names_issue_tracking", :checked => "checked", :type => "hidden" %>
<%= check_box_tag 'modules_enabled[]', "wiki", false, :id => "project_enabled_module_names_wiki", :checked => "checked", :type => "hidden" %>
<br/>
</label>
<label class="sales"> <%= check_box_tag 'modules_enabled[]', "news", false, :id => "project_enabled_module_names_news", :checked => "checked", :type => "hidden" %> </label>
<br/>
<%= submit_tag 'Submit'%>
<% end %>
我想在这里提出一个条件。那就是如果我从select标签中选择Agile选项,那么标签class =“agile”必须工作,如果它是sales,那么它下面的另一个标签块叫做class =“sales”必须工作。
我没有在数据库中存储任何这些内容。所以我希望根据我的选择选择特定的块。
非常感谢
答案 0 :(得分:1)
你需要一些Javascript才能做到这一点。 (我将使用jQuery,因为它是标准的)。
在您的选项元素(例如<option value="agile">Agile</option>
)和某些JS中添加一些值,如下所示:
(这可能会有所优化)
// By default, both should be hidden
$('label.agile, label.sales').hide();
$('select#type').change(function() {
$('label.agile, label.sales').hide();
// Show the label with the class that matches the selected option
$('label.'+$(this).val()).show();
});