我有两个选择。我试图将其移动到以下位置:如果用户选择“案例管理器”作为选择#1的选项,则出现选择#2的选项(当前对用户隐藏)。
哈姆:
= form_tag app_configurations_path, :method=> 'put' do |f|
-@all_configurations.each do |config|
=hidden_field_tag "config_ids[]", config.id
%label= t('workflow.duplicate_claim_manager')
= select_tag('duplicate_claim[case_manager]', options_for_select(@case_managers_drop_down, config.configuration_value),name: "config[#{config.id}]", :include_blank => true)
%label.hidden(for="duplicate_claim_manager_secondary")
= hidden_field('duplicate_claim_manager_secondary', options_for_select(@case_managers_drop_down, config.configuration_value),name: "config[#{config.id}]", :include_blank => true)
Haml似乎是正确的,但是我无法让Java正确取消隐藏选择#2的选项。有任何想法吗?
if ($("#duplicate_claim_case_manager :selected").text() == "Case Manager") {
$("#duplicate_claim_manager_secondary).setAttribute(type => text)
}
您可能会考虑使用jQuery的出色.toggle()
方法。就其本身而言,如果当前正在显示元素,它将隐藏该元素;如果当前正在隐藏它,则将显示该元素。这不是您想要的。
而且.toggle()
还具有秘密力量。您可以将布尔值作为参数传递给它。如果该布尔值是真实的,则它将显示该元素;如果它是虚假的,则将隐藏该元素。
您可以将输入始终保留为文本字段,并且style="display: none;"
默认情况下或使用JavaScript在页面加载时将其隐藏(使用属性)。
然后,您可以使用以下代码:
var isCaseManager = $("#duplicate_claim_case_manager :selected").text() === "Case Manager";
$("#duplicate_claim_manager_secondary").toggle(isCaseManager);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句