javascript - 输入后需要获取coffeescript的数据

标签 javascript html ruby-on-rails coffeescript

我在一个 Rails 应用程序中,我需要收集 3 个字段的输入,但我需要在用户输入它们后收集它们。我正在 CoffeeScript 中尝试此操作,但不确定它是否正确?

$("#mortgage").change ->
  mortgage = document.getElementsByName('mortgage')[0].value
$("#price").change ->
  price = document.getElementsByName('price')[0].value
$("#rent").change ->
  rent = document.getElementsByName('rent')[0].value

我的html如下:

<%= text_field_tag :price, nil, placeholder: "ex. 100,000", class: "form-control form-control-lg", id: "price" %>

<%= text_field_tag :mortgage, nil, placeholder: "ex. 1,200", class: "form-control form-control-lg", id: "mortgage" %>

<%= text_field_tag :rent, nil, placeholder: "ex. 800", class: "form-control form-control-lg", id: "rent" %>

[编辑:我实际上是从计算中的第一个值得到错误]

这是我的 CoffeeScript 以及错误的来源...

# Calculate Savings
$('#mortgage').change ->
  mortgage = $(this).val()
$('#price').change ->
   price = $(this).val()
$('#rent').change ->
   rent = $(this).val()
instance = new Calculation(price, mortgage, rent)<!---ERROR IS HERE FOR PRICE--->

class Calculation
  constructor (price, mortgage, rent) ->
  monthly_savings -> @mortgage - @rent
  savings_goal -> @price * 0.03
  months -> Math.ceil @savings_goal / @monthly_savings
  savings -> monthly_savings * months

@total_savings = document.getElementById('total_savings').value = instance.savings();
@months_to_buy = document.getElementById('months').value = instance.months();

我仍然收到错误

Uncaught ReferenceError: price is not defined I assume that is because it is first)

所以我知道有些事情不对劲。

最佳答案

您尝试按名称获取元素,如果您已经在元素上提到了 id,请尝试通过 getElementById 获取元素,我认为这应该适合您。

$('#mortgage').change ->
  mortgage = $(this).val()
$("#price").change ->
   price = $(this).val()
$("#rent").change ->
   rent = $(this).val()

关于javascript - 输入后需要获取coffeescript的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50596831/

相关文章:

javascript - 将字符串转换为 json 对象

javascript - jQuery 动画计时

jquery - 如何创建垂直时间轴

ruby-on-rails - 为什么 association.build 不会将 parent_id 分配给它的 child ?

javascript - 使用 React JSX 设置的可选属性

javascript - jQuery 绝对侧边栏滚动,停止在父项的顶部和底部

ruby-on-rails - rails 5.2 如何在 Controller 中获取表单数据值

ruby-on-rails - 如何在 ruby​​ 中找到跨记录的最大属性?

javascript - 解析多态 XML

javascript - 使用滚动条自动水平滚动