由于缺少更好的标题,我希望以我的jsfiddle为例,并将其转换为拉出div中的数字(它始终是一个数字):
<div class="output" id="i1">100</div>
并通过公式传递该数字,将其实时吐出到 p 标签(不需要是p标签,可能是另一个div。
<p>200</p> or <div id="i2">200</div>
上面的200,通过添加div id#i1的原始值加上100来计算。现在,小提示显示当您输入输入值时,它会吐出实时计算。
所以问题是,在不使用输入值的情况下,该函数会将数字数据从DIV标记中提取出来,通过函数运行它,然后将其吐回到段落标记中?我认为它的大部分内容都是完整的功能,但不能完全弄清楚DIV文本的提取。
我看过的一些帖子已经包含this one about real time inputs,this one on calculations and displaying和其他一些帖子。
解
This fiddle为我展示了解决方案。它比我以前简单得多。下面给出了一个关于监听器插件的解决方案,它看起来非常好,但对于我需要的方式来说有点过分。
答案 0 :(得分:0)
您可以考虑在此处使用观察者模式。
查看此内容以获取更多信息。 http://canjs.us/#can_observe
答案 1 :(得分:0)
从div中获取文本,然后将其解析为float,使用:
parseFloat(document.getElementById('i1').childNodes[0].nodeValue)
答案 2 :(得分:0)
This fiddle为我展示了解决方案。它比我以前简单得多。下面给出了一个关于监听器插件的解决方案,它看起来非常好,但对于我需要的方式来说有点过分。
<form id="vcForm">
<div id="i1">100</div>
<p></p>
</form>
$("#i1").keyup(function() {
var input1 = parseFloat($("#i1").text(),10);
var input2 = 100;
total1 = parseFloat(input1) + parseFloat(input2);
$("p").text(total1);
}).keyup()
第一个DIV中的值将是动态的(通过滑块更改)。当然,当我在功能上扩展它时,我们会看到实时更新,但对于我原来的问题,我们回答了它。