使用来自表单输入的 coffeescript 编辑保存的值

Editing a saved value with coffeescript from form input

我正在尝试根据用户输入的内容编辑页面上的数字,但我无法让它完全正确地工作。每次我让它的一部分工作时,另一部分就会中断...

我有一个表单输入字段:

<input id="timecard_hours" type="number" placeholder="8"/>

在它下面我有一些东西显示他们已经有的小时数(我在这里硬编码为 5 但通常是将从数据库中获取的数字):

<div class="row">
  <h1 class="center" id="new_timecard_hours">5</h1>
  <p class="center">hours so far this week</p>
</div>

我想要做的是获取它,以便当用户在输入字段中键入数字时,该数字将添加到页面底部已经显示的小时数中。我也想要这样,如果他们决定改变主意(在提交表单之前)并返回输入字段更改号码,新号码将添加到旧 "new_timecard_hours" 而不是他们已经添加了新的。

目前我的coffeescript是这样的:

 $ ->
   $('#timecard_hours').focus ->
     @previousHoursValue = +($('#timecard_hours').val())

   $('#timecard_hours').bind "keyup", ->
     newHours = +($('#timecard_hours').val())
     totalHours = +($('#new_timecard_hours').val()) + newHours - @previousHoursValue
     $('#new_timecard_hours').html(totalHours)

但这并不是将它添加到 "new_timecard_hours",它只是替换它。关于如何做到这一点有什么想法吗?

虽然在这个问题上花了几个小时,但我发现了一些建议我以某种方式用 .data 保存了 "new_timecard_hours",然后将其添加到输入字段值中......我不太理解它并想出了像这样:

oldHours = $('#new_timecard_hours').data($('#new_timecard_hours').text())

但这似乎并没有真正起到任何作用...

任何想法或帮助将不胜感激!

好的,如果其他人遇到类似问题,我找到了解决方案...在 coffeescript 中,totolHours 应该是;

totalHours = +($('#new_timecard_hours').text()) + newHours - @previousHours

因为 new_timecard_hours 是从数据库中获取的,所以不是 .val(如果我没记错的话,它仅来自表单输入)。