Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算html输入字段并允许用户修改所述字段_Javascript_Html_Knockout.js - Fatal编程技术网

Javascript 计算html输入字段并允许用户修改所述字段

Javascript 计算html输入字段并允许用户修改所述字段,javascript,html,knockout.js,Javascript,Html,Knockout.js,我是knockout.js的新用户,到目前为止,我对基本用法印象深刻 我希望能够根据以前的字段(yr1费用)自动计算字段(yr2费用),但也允许用户更改自动计算字段。该自动计算字段随后用于另一个计算(总Yr2)。我一直在尝试这样做,但到目前为止没有运气。我在示例中找不到有关如何执行此操作的任何信息 我首先尝试将yr2费用设置为可观察的,这不允许自动计算。然后,我尝试计算yr2费用,这不允许使用用户输入更新yr2总额。我想做的是不可能的吗?我认为这在财务计算表单中很常见,这就是我之所以这么做的原因

我是knockout.js的新用户,到目前为止,我对基本用法印象深刻

我希望能够根据以前的字段(yr1费用)自动计算字段(yr2费用),但也允许用户更改自动计算字段。该自动计算字段随后用于另一个计算(总Yr2)。我一直在尝试这样做,但到目前为止没有运气。我在示例中找不到有关如何执行此操作的任何信息


我首先尝试将yr2费用设置为可观察的,这不允许自动计算。然后,我尝试计算yr2费用,这不允许使用用户输入更新yr2总额。我想做的是不可能的吗?我认为这在财务计算表单中很常见,这就是我之所以这么做的原因。

首先,变量名称应该易于理解和揭示意图。迟钝或缩写的名字没有好处,就像你小提琴中使用的名字一样。它们令人困惑,这增加了代码维护的难度。如果你打算以后缩小你的js,那么名字无论如何都不重要。如果您以后需要阅读代码,那么拥有完整、易于理解的名称将非常有帮助

有两种方法可以实现你的目标

一种方法是使用订阅者在更改后更改可观测值的计算。看见这里有一个关于这个方法的例子。对于这个例子,我推荐这种方法

注意:我将退出
valueUpdate
,这样只有当用户完成键入时才会重新计算。如果您使用afterkeydown,它将提前重新连接,从而导致问题。当需要重新校准时,请尝试按
[Enter]


第二种方法是使用(第二个标题,页面下方的1/3)生成具有读写方法的
计算可观测值。我认为这个方法不适合这个具体的例子,但是链接的KO文档中的例子应该让你知道它什么时候工作得很好。

首先,变量名应该很容易理解和显示意图。迟钝或缩写的名字没有好处,就像你小提琴中使用的名字一样。它们令人困惑,这增加了代码维护的难度。如果你打算以后缩小你的js,那么名字无论如何都不重要。如果您以后需要阅读代码,那么拥有完整、易于理解的名称将非常有帮助

有两种方法可以实现你的目标

一种方法是使用订阅者在更改后更改可观测值的计算。看见这里有一个关于这个方法的例子。对于这个例子,我推荐这种方法

注意:我将退出
valueUpdate
,这样只有当用户完成键入时才会重新计算。如果您使用afterkeydown,它将提前重新连接,从而导致问题。当需要重新校准时,请尝试按
[Enter]

第二种方法是使用(第二个标题,页面下方的1/3)生成具有读写方法的
计算可观测值。我认为这个方法不适合这个特定的例子,但是链接的KO文档中的例子应该让你知道它什么时候工作得很好。

返回这个.opYr1Hoa()乐趣。
返回此.opYr1Hoa()乐趣。谢谢,这非常有效(订户)。对于这些糟糕的变量名,我深表歉意,在接下来的工作中,我一定会注意到这一点。谢谢,这非常有效(订阅者)。对于这些糟糕的变量名,我深表歉意,在接下来的工作中,我一定要注意这一点。