我的脚本遇到了麻烦,这个脚本应该为不同的字段分配一个数量。
其实这里是脚本,jsfiddle之后我会给你。
<script type="text/javascript">
function getItems()
{
var items = new Array();
var itemCount = document.getElementsByClassName("items");
for(var i = 0; i < itemCount.length; i++)
{
items[i] = document.getElementById("p"+(i+1)).value;
}
return items;
}
function setItems(items,payAmt)
{
//document.getElementById("troppercu").value = payAmt;
for(var i = 0; i < items.length; i++)
{
document.getElementById("p" + (i+1)).value = items[i];
}
}
function itemSum(items)
{
var sum = 0;
for(var i=0; i < items.length; i++)
{
sum = items[i] + sum;
}
return sum;
}
function payment(inputElm)
{
var items = getItems();
var payAmt = document.getElementById("montantacompte").value;
var i = 0;
var sum = itemSum(items);
while(payAmt != 0 && sum != 0)
{
var temp = items[i] - payAmt;
if(temp > 0)
{
items[i] = Math.round((temp)*100)/100;
break;
}
else if(temp < 0)
{
items[i] = 0;
payAmt = temp*-1;
}
i++;
sum = itemSum(items);
}
setItems(items, payAmt);
}
</script>
所以我有一个输入,我可以在其中写一个金额,这个金额将分配到不同的字段上。
实际上,问题是当我输入与本金相同的金额时,它会冻结屏幕。如果我写相同的金额 + 1 美分,它不会冻结。
字段上的所有信息都来自我的数据库。这是用 PHP 和 MySQL 编写的。
当您写入与本金相同的数量时,问题就来了,因此在这种情况下,如果您在黄色框中输入 3654.58,它会冻结屏幕我真的不明白为什么,事实上,它不应该,因为如果我写 3654.59所有的作品,如果我写更多,它也有效。