我有一个问题,当添加定价到本地存储到其他字段。如果我将beforeNoonNPSlot的价格设置为2,但将matineeNPSlot的字段保留为空(它应该保留上次分配给它的价格)。然后,在我更新更改之后。beforeNoonPrice应该是$2.00,但matineeNPSlot是$NaN。另外,如果我为beforeNoonNPSlot和matineeNPSlot分别设置了一个价格,那么就不会出现NaN问题。
我希望它是可选的,以设置任何领域的价格,而不一定是所有的领域没有这个问题。如何防止这种情况发生?
function updatePricingFunction() {
var beforeNoonFieldChange = document.getElementById('beforeNoonNPSlot').value;
var matineeFieldChange = document.getElementById('matineeNPSlot').value;
localStorage.setItem('text', beforeNoonFieldChange);
localStorage.setItem('text1', matineeFieldChange);
}
function load() {
var storedValue = localStorage.getItem('text');
var storedValue1 = localStorage.getItem('text1');
beforenoonprice = storedValue;
matineeprice = storedValue1;
beforeNoonCPSlot.innerHTML = "$" + parseFloat(storedValue).toFixed(2);
$("#beforeNoonPrice").attr = parseFloat(storedValue).toFixed(2);
$('#beforeNoonPrice').append("$" + (storedValue * 1).toFixed(2));
matineeCPSlot.innerHTML = "$" + parseFloat(storedValue1).toFixed(2);
$("#matineePrice").attr = parseFloat(storedValue1).toFixed(2);
$('#matineePrice').append("$" + (storedValue1 * 1).toFixed(2));
}
// JavaScript Document
var beforenoonprice = 6.75; // CHANGE THE PRICE OF THE BEFORE NOON TICKET
var matineeprice = 9.00; // CHANGE THE PRICE OF THE MATINEE TICKET
var seniorprice = 9.25; // CHANGE THE PRICE OF THE SENIOR TICKET
var militaryprice = 9.25; // CHANGE THE PRICE OF THE MILITARY TICKET
var studentdayprice = 8.00; // CHANGE THE PRICE OF THE STUDENT DAY TICKET
var seniordayprice = 6.75; // CHANGE THE PRICE OF THE SENIOR DAY TICKET
var adultprice = 10.75; // CHANGE THE PRICE OF THE ADULT TICKET
var childprice = 8.00; // CHANGE THE PRICE OF THE CHILD TICKET
var threeDprice = 3.50; // CHANGE THE PRICE OF THE REGULAR 3D PRICE
var imaxPrice = 4.50; // CHANGE THE PRICE OF THE IMAX TICKET
var imax3dPrice = 5.50; // CHANGE THE PRICE OF THE IMAX 3D TICKET
var output = document.getElementById('output');发布于 2014-07-27 09:50:45
你得到NaN是因为你试图解析一个空字符串,所以你要么在你的代码中添加一个特殊的例子,在格式化之前检查字符串是否为空(默认值为not set或其他值),要么你将0设为默认值,这样它就可以被解析回来,你就会得到$0,这有意义吗?
https://stackoverflow.com/questions/24977068
复制相似问题