首页 > web前端 > js教程 > 正文

根据选择的币种名称动态显示价格教程

聖光之護
发布: 2025-08-20 20:14:01
原创
1041人浏览过

根据选择的币种名称动态显示价格教程

本文将指导开发者如何在使用 Slim Select 插件的 Rails 应用中,根据用户在下拉列表中选择的币种名称,动态地从数据库获取并显示对应的价格。我们将使用 Ajax 技术实现前后端的数据交互,并提供详细的代码示例和步骤说明,帮助您快速实现此功能。

前端实现:使用 JavaScript (CoffeeScript) 和 Ajax

首先,我们需要监听 Slim Select 的选择事件,并在事件触发时发起 Ajax 请求,从后端获取对应币种的价格。

以下是使用 CoffeeScript 实现的示例代码:

coinWithPrices = ->
  coin = $('#investment_coin_name').val()
  $.ajax(url: '/commons/get_prices', data: { coin_name: coin })
  .then (data) ->
    $('#investment_shopping_price').val(data.coin_price) // 更新价格字段

$(document).on "turbolinks:load", ->
  $('#investment_coin_name').on 'change', coinWithPrices # 监听选择事件
登录后复制

代码解释:

  1. coinWithPrices 函数:
    • 获取选中的币种名称 coin。
    • 使用 $.ajax 发起一个 GET 请求到 /commons/get_prices,并传递 coin_name 作为参数。
    • 在 then 回调函数中,从返回的 data 对象中获取 coin_price,并将其赋值给 shopping_price 输入框。
  2. $(document).on "turbolinks:load", ->:
    • 确保在 Turbolinks 加载完成后执行代码。
    • 使用 .on('change', ...) 监听 investment_coin_name 选择框的 change 事件,并在事件触发时调用 coinWithPrices 函数。

注意事项:

  • 确保已经引入 jQuery 库。
  • 根据实际情况修改选择器 (#investment_coin_name, #investment_shopping_price) 和 URL (/commons/get_prices)。
  • 如果未使用 Turbolinks,则将 turbolinks:load 替换为 DOMContentLoaded。

后端实现:Rails Controller

接下来,我们需要在 Rails Controller 中处理 Ajax 请求,从数据库中查询对应币种的价格,并将其返回给前端。

NameGPT名称生成器
NameGPT名称生成器

免费AI公司名称生成器,AI在线生成企业名称,注册公司名称起名大全。

NameGPT名称生成器 0
查看详情 NameGPT名称生成器

以下是 Rails Controller 中的示例代码:

def get_prices
  @coin_name = params[:coin_name]
  @coin = Coin.find_by(name: @coin_name) # 假设你有一个 Coin 模型

  if @coin
    @coin_price = @coin.price # 假设 Coin 模型有一个 price 属性
    render json: { coin_price: @coin_price }
  else
    render json: { coin_price: nil } # 或者返回一个错误信息
  end
end
登录后复制

代码解释:

  1. get_prices action:
    • 从 params 中获取 coin_name。
    • 使用 Coin.find_by(name: @coin_name) 从数据库中查找对应的 Coin 记录。
    • 如果找到 Coin 记录,则从 Coin 记录中获取 price,并将其赋值给 @coin_price。
    • 使用 render json: { coin_price: @coin_price } 将 coin_price 以 JSON 格式返回给前端。
    • 如果未找到 Coin 记录,则返回 coin_price: nil 或者一个错误信息。

注意事项:

  • 确保已经创建了 Coin 模型,并且 Coin 模型有一个 name 和 price 属性。
  • 根据实际情况修改模型名称和属性名称。
  • 确保在 routes.rb 文件中定义了 /commons/get_prices 路由。例如:get '/commons/get_prices', to: 'commons#get_prices'。

视图更新

在前端 JavaScript 代码中,确保使用正确的选择器来更新 shopping_price 字段。例如,在提供的代码中,应该使用 #investment_shopping_price 而不是 #investment_coin_price。

总结

通过以上步骤,您就可以在 Rails 应用中实现根据选择的币种名称动态显示价格的功能。这个教程涵盖了前端 JavaScript 代码的编写、后端 Rails Controller 的实现以及视图的更新。请根据您的实际情况修改代码,并确保所有依赖项都已正确安装。

以上就是根据选择的币种名称动态显示价格教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号