我有一个存储在数据库中的等式/公式,我希望它能够根据网页中的按键输入事件进行触发。
示例公式:[55-57]
这是一个简单的减号操作,其中数字实际上代表数据库中行的id
我查看了这个solution,它将字符串中的数字替换为new value
。但我需要将new value
替换为递增字母,例如a
,b
等。此外,需要删除前导括号[]
,以便稍后使用JavaScript执行eval
。
稍后,等式将转换为a-b
。变量a
和b
表示包含值的其他HTML元素。因此,每当我将某些内容键入文本字段时,更改将反映在网页的其他部分。它就像自动计算一样。
感谢您的帮助。希望这个问题会对某人有所帮助。
答案 0 :(得分:1)
尝试这样的事情。如果您需要更多帮助,您真的需要重新提出问题或发布jsfiddle或其他内容。
var eqn = '55-57'; // brackets removed. Remove them with a regex of /\[|\]/g if you need to
var result = eval( eqn.replace( /\w+/g, function( res ){
return +document.getElementById( res[1] );
} );
基本上,这会将55
和57
替换为#55
和#57
的数值。它也适用于#b
等。
然后eval
得到了结果,基本上做了你方程式中的任何数学运算。