首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails select_tag - jQuery/JavaScript隐藏/显示更改事件

Rails select_tag - jQuery/JavaScript隐藏/显示更改事件
EN

Stack Overflow用户
提问于 2015-12-03 10:01:43
回答 1查看 222关注 0票数 0

我的助手中有以下几点:

代码语言:javascript
复制
def cancellation_policies_options_for_elite(room)
  options_for_select( [ [t("cancellation_policies.standard"), "standard"], [t("cancellation_policies.moderate"), "moderate"], [t("cancellation_policies.strict"), "strict"], [t("cancellation_policies.elite"), "elite"], [t("cancellation_policies.super_elite"), "super_elite"]] )
end

它既指定了在select菜单中呈现的文本,也指定了值(即标准、中度等)。

在我看来,然后我呼吁:

代码语言:javascript
复制
<%= select_tag('selected_cancellation_policy_id', cancellation_policies_options_for_elite(@room), id: 'select-policy', class: 'input-xxlarge') %>

在此下面,我有以下的div:

代码语言:javascript
复制
<div id="moderate" class="policies" style="display:none">
  Moderate policy
</div>

<div id="strict" class="policies" style="display:none">
  Strict policy
</div>

<div id="elite" class="policies" style="display:none">
  Elite policy
</div>
代码语言:javascript
复制
$("#select-policy").on('change', function() {
  alert("It's working!");
  $('.policies').hide();
  $("#" + $(this).val()).show();
}

我的项目中有jQuery和jQuery UI,所有这些都是正确编译的,就像许多其他jQuery元素一样。然而,我没有得到任何回应,从这个功能,并完全没有原因。对此有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 10:31:24

这应该是可行的:

代码语言:javascript
复制
$(document).ready(function(){
    $('.policies').hide();
});

然后,在更改复选框时,执行以下操作:-

代码语言:javascript
复制
$(document).on('change', '#select-policy', function() {
    alert("It's working!");
    $('.policies').not("#" + $(this).val()).hide();
});

此外,在“精英政策”div中,id应该是"super_elite“而不是”精英“。因为在复选框中取消精英值是"super_elite“。标准政策部门在这里失踪了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34062899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档