在选择下拉列表中的Rails中使用Ajax

迈克·格拉兹

我想知道如何通过Ruby / Rails进行以下练习。

index.html.erb

<div id="selectionsPane">
  <label for="bootChooserControl">Boot style:</label>&nbsp;
  <select id="bootChooserControl" name="bootStyle"></select>
</div>
  <div id="productDetailPane">
  </div>
</div>
<div>
  <label>Item name:</label> <%= @boot.name %>
</div>
...

boots.js

$(function() {

  $('#bootChooserControl').load('/fetch_boot_style_options');

  $('#bootChooserControl').change(function(event){
    $.get(
      '/fetch_product_details',
      {style: $(event.target).val()},
      function(response) {
        $('#productDetailPane').html(response);
        $('[value=""]',event.target).remove();
      }
    );
  });
});

boots_controller.rb

def fetch_product_details
  @boot = Boot.where(sku: params[:style])
  render layout: false
end

fetch_boot_style_options

<option value="">&mdash; choose a style &mdash;</option>
<% @boots.each do |boot| %>
  <option value="<%= boot.sku %>"><%= boot.name %></option>
<% end %>

因此,我想Item Name从数据库中填充正确的启动名称。首先,我如何使用该select方法以Rails方式构建我的选择按钮?其次,当用户选择其他项目时,我要productDetailsPane更新。我不知道需要添加什么以使此代码可用于Rails / AJAX。

迈克·格拉兹

boot.js中,取出以下行:$('#productDetailPane').html(response);

boots_controller.rb

def fetch_product_details
  @boot = Boot.where(sku: params[:style]).first
  respond_to do |format|
    format.js
  end
end

fetch_product_details.rb

$('#productDetailPane').html('<%= j render "product_details" %>');

_product_details.html.erb

<div>
  <label>Item name:</label> <%= @boot.name %>
</div>
<div>
  <label>SKU:</label> <%= @boot.sku %>
</div>
<div>
  <label>Height:</label> <%= @boot.height %>
</div>
<div>
  <label>Colors:</label> <%= raw @boot.colors %>
</div>
<div>
  <label>Lining:</label> <%= @boot.lining %>
</div>
<div>
  <label>Today's price:</label> <%=  number_to_currency(@boot.price) %>
</div>
<div>
  <label>Features:</label> <%= raw @boot.features %>
</div>
<div align="center">
  <% if params[:style] != 'default' %>
    <%= image_tag 'photos/' + @boot.sku.to_s + '.png' %>
  <% end %>
</div>

routes.rb

get '/fetch_boot_style_options' => 'boots#fetch_boot_style_options'
get '/fetch_product_details' => 'boots#fetch_product_details'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在If语句中使用下拉列表选择

来自分类Dev

在选择下拉列表中使用数组

来自分类Dev

如何在Angular 9中使用带有选定值的选择下拉列表

来自分类Dev

在Rails中使用Ajax更新选择框

来自分类Dev

如何使用jQuery从AJAX生成的选择下拉列表中获取文本选项?

来自分类Dev

使用Ajax在Django中填充下拉列表

来自分类Dev

如何在Backbone.Marionette中使用JQuery和Ajax在下拉列表中呈现数据

来自分类Dev

如何在Yii中使用ajax更改下拉列表中的值

来自分类Dev

如何在python中使用webdriver选择下拉列表值

来自分类Dev

下拉列表选择中的JSF ajax替换元素

来自分类Dev

绑定请使用jquery ajax在下拉列表顶部选择

来自分类Dev

在Dancer框架中使用Ajax填充下拉列表

来自分类Dev

ReactJS使用Ajax根据第一个下拉列表选择的值填充下拉列表

来自分类Dev

我想使用Ajax将ID从视图传递给Codeigniter中的控制器,并更新DB中的下拉列表选择

来自分类Dev

如何基于使用ajax从另一个下拉列表中选择的值来更改下拉列表中的选项?

来自分类Dev

如何从选择选项下拉列表中获取值并在switch语句中使用该值

来自分类Dev

jQuery函数-使用其他列表中的下拉选择填充的简单下拉选择

来自分类Dev

使用JSON数组中的键填充选择下拉列表

来自分类Dev

使用javascript或jquery从选择下拉列表中删除重复项

来自分类Dev

使用jQuery或JS在不同的下拉列表选择中隐藏div

来自分类Dev

如何使用下拉列表选择在html中显示表

来自分类Dev

使用 Angular 在选择下拉列表中设置默认值

来自分类Dev

从下拉列表中获取值以在MySQL查询中使用

来自分类Dev

覆盖“选择”下拉列表中的默认选择

来自分类Dev

覆盖“选择”下拉列表中的默认选择

来自分类Dev

使用jQuery Ajax在下拉列表中的各个值

来自分类Dev

使用AJAX从<select>下拉列表中检索值?

来自分类Dev

如何使用ajax在html下拉列表中显示db的结果?

来自分类Dev

使用ajax json在下拉列表中显示数据

Related 相关文章

  1. 1

    在If语句中使用下拉列表选择

  2. 2

    在选择下拉列表中使用数组

  3. 3

    如何在Angular 9中使用带有选定值的选择下拉列表

  4. 4

    在Rails中使用Ajax更新选择框

  5. 5

    如何使用jQuery从AJAX生成的选择下拉列表中获取文本选项?

  6. 6

    使用Ajax在Django中填充下拉列表

  7. 7

    如何在Backbone.Marionette中使用JQuery和Ajax在下拉列表中呈现数据

  8. 8

    如何在Yii中使用ajax更改下拉列表中的值

  9. 9

    如何在python中使用webdriver选择下拉列表值

  10. 10

    下拉列表选择中的JSF ajax替换元素

  11. 11

    绑定请使用jquery ajax在下拉列表顶部选择

  12. 12

    在Dancer框架中使用Ajax填充下拉列表

  13. 13

    ReactJS使用Ajax根据第一个下拉列表选择的值填充下拉列表

  14. 14

    我想使用Ajax将ID从视图传递给Codeigniter中的控制器,并更新DB中的下拉列表选择

  15. 15

    如何基于使用ajax从另一个下拉列表中选择的值来更改下拉列表中的选项?

  16. 16

    如何从选择选项下拉列表中获取值并在switch语句中使用该值

  17. 17

    jQuery函数-使用其他列表中的下拉选择填充的简单下拉选择

  18. 18

    使用JSON数组中的键填充选择下拉列表

  19. 19

    使用javascript或jquery从选择下拉列表中删除重复项

  20. 20

    使用jQuery或JS在不同的下拉列表选择中隐藏div

  21. 21

    如何使用下拉列表选择在html中显示表

  22. 22

    使用 Angular 在选择下拉列表中设置默认值

  23. 23

    从下拉列表中获取值以在MySQL查询中使用

  24. 24

    覆盖“选择”下拉列表中的默认选择

  25. 25

    覆盖“选择”下拉列表中的默认选择

  26. 26

    使用jQuery Ajax在下拉列表中的各个值

  27. 27

    使用AJAX从<select>下拉列表中检索值?

  28. 28

    如何使用ajax在html下拉列表中显示db的结果?

  29. 29

    使用ajax json在下拉列表中显示数据

热门标签

归档