EDITED
感谢所有提供支持的人…我将与您分享的最佳工作脚本,希望我能帮助其他寻求相同解决方案的人:
$(document).ready(function(){ $("#price1,#price2").keyup(function() { var priceOne = parseFloat($("#price1").val()); var priceTwo = parseFloat($("#price2").val()); var rate = parseFloat($("#rate").val()); if ($("#price1").val() && $("#price2").val()){ $('#rate').val(((priceTwo - priceOne) / priceOne * 100).toFixed(2)); } }); $("#rate").keyup(function() { var priceOne = parseFloat($("#price1").val()); var rate = parseFloat($("#rate").val()); if ($("#rate").val() && $("#price1").val() && $("#price2").val()){ $('#price2').val(((priceOne * rate)/ 100 + priceOne).toFixed(2)); } }); })
您也可以按照此LINK进行测试
初步问题:
请帮助计算两个数字之间的百分比.我试过一种方法,但我没有成功.请告诉我有什么问题,或者如果你能推荐其他可以帮助我的脚本,我将不胜感激
我的剧本:
<html> <head> <script type="text/javascript"> $("#rate").text(function() { var result = (parseInt(($("#price1").text(),10) * 100)/ parseInt($("#price2").text(),10)); if (!isFinite(result)) result = 0; return result; });? </script> </head> <body> <div id="price1"><label><input id="price1" type="text"></label></div> <div id="price2"><label><input id="price2" type="text"></label></div> <div id="rate"><label><input id="rate" type="text"></label></div> </body> </html>
解决方法
对输入元素使用val()而不是text(),使用$(function(){})等待DOM准备就绪.并且也不要对元素使用相同的ID.
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> $(function() { $("#price1,#price2").change(function() { // input on change var result = parseFloat(parseInt($("#price1").val(),10) * 100)/ parseInt($("#price2").val(),10); $('#rate').val(result||''); //shows value in "#rate" }) }); </script> </head> <body> <div id="price-div1"><label>price1</label><input id="price1" type="text"></div> <div id="price-div2"><label>price2</label><input id="price2" type="text"></div> <div id="rate-div"><label>rate</label><input id="rate" type="text">%</div> </body> </html>