这很奇怪,我试图做一个简单的计算,但由于某种原因,我无法从输入中获取值,并且它仅适用于特定输入,而不适用于大家。从输入获得值,结果为NaN
这是我试图获得价值的方式:
var Days = parseInt($('#days').val());
var DaysPayment = parseInt($('#days-payment').val());
但它不工作,但其他投入工作正常。
你可以看到这个在这里的jsfiddle:http://jsfiddle.net/jEU4L/
这很奇怪,我试图做一个简单的计算,但由于某种原因,我无法从输入中获取值,并且它仅适用于特定输入,而不适用于大家。从输入获得值,结果为NaN
这是我试图获得价值的方式:
var Days = parseInt($('#days').val());
var DaysPayment = parseInt($('#days-payment').val());
但它不工作,但其他投入工作正常。
你可以看到这个在这里的jsfiddle:http://jsfiddle.net/jEU4L/
你需要从这些领域内单击处理检索值。目前你在空白时加载它们,因此计算结果为NaN
。另外,您应该在parseInt
呼叫中包含基数。试试这个:
$(document).ready(function() {
var $execute = $('#execute');
var $total = $('#total');
var $totalNDS = $('#total-nds');
$execute.on('click', function() {
var payment = parseInt($('#payment').val().replace(/ /g, ""), 10);
var nds = parseInt($('#nds').val(), 10);
var days = parseInt($('#days').val(), 10);
var daysPayment = parseInt($('#days-payment').val(), 10);
var t1 = payment/100;
var t2 = t1 * nds;
var t3 = payment - t2;
var t4 = t3/days;
var t5 = t4 * daysPayment;
$total.val(t5);
});
});
我也改变了变量名使用通常的JS和jQuery约定(即含有的jQuery对象变量都带有前缀$
和变量名应该是骆驼套管) 。
你需要改变你的函数:
$(document).ready(function(){
var Payment = parseInt($('#payment').val().replace(/ /g,""));
var Execute = $('#execute');
var Total = $('#total');
var TotalNDS = $('#total-nds');
Execute.on('click',function(){
var NDS = 0
var Days = 0
var DaysPayment= 0
if($('#nds') > 0)
NDS = parseInt($('#nds').val());
if($('#days') > 0)
Days = parseInt($('#days').val());
if($('#days-payment') > 0)
DaysPayment = parseInt($('#days-payment').val());
console.log(Days+' '+DaysPayment);
var t1 = Payment/100;
console.log(t1);
var t2 = t1 * NDS;
console.log(t2);
var t3 = Payment - t2;
console.log(t3);
var t4 = t3/Days;
console.log(t4);
var t5 = t4 * DaysPayment;
console.log(t5);
Total.val(t5);
});
});
因为你没有得到在数天或数天,一个月的默认值varables所以你得到的NaN
我认为这可能是bcoz乌尔取代函数试试这个 'replace(/ \ r?\ n/g,'')' –