【问题标题】:How to make dynamic dropdown in Rails?如何在 Rails 中制作动态下拉菜单?
【发布时间】:2011-04-08 04:46:44
【问题描述】:

我正在从事一个电子商务项目,其中将有用于选择尺寸的单选按钮。我有一个数量的下拉菜单。我想根据用户选择的尺寸可用的库存使这个下拉列表动态化。谁能告诉我如何在 Rails 上做到这一点?没有用大量的 javascript 弄乱我的视图文件!?

【问题讨论】:

    标签: javascript ruby-on-rails ruby ruby-on-rails-3 spree


    【解决方案1】:

    如果您使用带有原型的 Rails 3(默认为 afaik),您可以使用原型遗留助手 (Link on Github) 添加观察者并为下拉框呈现局部视图。你可以像这样添加一个观察者

    <%= observe_field 'element_var_name',
          :url => { :action => "another_action_here" },
          :update => "div_tag_to_update",
          :with => "'selected='+ escape($('element_var_name').value)" %>
    

    请务必根据您的情况调整element_var_name 和操作。 div_tag_to_update 是将使用下拉框更新的 div。 another_action_here 操作应呈现如下视图:

    def call_ids_by_type
      @element_list = ... # whatever fits for you, like: [[key, value],[key, value]]
      render :layout => false
    end
    

    在局部视图中,可以使用元素列表生成下拉框:

    <%= f.select :var_name, @element_list %>
    

    【讨论】:

      猜你喜欢
      • 2015-01-19
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2010-12-31
      • 1970-01-01
      相关资源
      最近更新 更多