使用来自表单输入的 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(如果我没记错的话,它仅来自表单输入)。
我正在尝试根据用户输入的内容编辑页面上的数字,但我无法让它完全正确地工作。每次我让它的一部分工作时,另一部分就会中断...
我有一个表单输入字段:
<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(如果我没记错的话,它仅来自表单输入)。