我在javascript中将该值四舍五入到.25,.50,.75和.00。代码如下。
function roundOff(obj) {
//alert(document.getElementById("sample").value);
var val=obj.value;
var newValue;
var floorValue = Math.floor(val);
var remainder = val - floorValue;
if (remainder < 0.325) {
if (remainder < 0.125) {
newValue = floorValue;
} else {
newValue = floorValue + 0.25;
}
} else {
if (remainder < 0.625) {
newValue = floorValue + 0.5;
} else if (remainder < 0.875) {
newValue = floorValue + 0.75;
} else {
newValue = floorValue + 1;
}
}
alert(floorValue);
alert(newValue);
document.getElementById("sample").value=newValue;
//return obj;
}
但是我无法将值放回jsp页面。如果我输入5.5,jsp中只显示5。但如果我发出警报并检查floorvalue的值那么它是5.5。但如果我把它放在jsp的文本框中它只给出5.为什么会这样呢???
答案 0 :(得分:0)
您正在将文本框的值设置为floorValue,而不是newValue。
答案 1 :(得分:0)
我在jsp中使用onKeyUp导致了麻烦。相反,我改为onBlur,因为它提供了与我的要求相同的效果。谢谢你'nnnnnn'的建议。它现在正在工作。
答案 2 :(得分:0)
尝试使用onblur事件。因为它在小提琴中工作得很好。除此之外,我认为你的代码没有问题。
答案 3 :(得分:-1)