我正在更新收據的基礎上用戶輸入旁邊的窗體。數學和表單字段,獲取NaN
我的問題是,我覺得我處理文本值,而不是整數,因爲一些數學我做的生成NaN,而他們表現得很好單獨用的console.log
我收集三個值,然後嘗試將它們相乘以顯示在收據中。這返回NaN。
至今代碼:
$('fieldset').on('change', function(){
group = $(this).attr('title');
switch(group){
case "dr":
var name = $(this).find('option:selected').attr('label');
var value = $(this).find('option:selected').attr('value');
var weeks = $(this).find('option:selected').attr('data-weeks');
var copies = $(this).find('input').val();
//Only update the receipt when both are set (separate fields)
if(name != "" && copies != ""){
produkter.push([name, value*weeks*copies]);
receipt(produkter);
}
break;
[other cases...]
}
// Accepts an array with a name and a price sum.
function receipt(produkter){
produkter.sort();
$('.receipt li').remove(); // Clears the current receipt.
for (var i = 0; i < produkter.length; i++) {
$('.kvitto').append(
'<li><span class="item">' + produkter[i][0] + '</span><span class="price">' + produkter[i][1] + '</span></li>');
}
console.log(produkter);
}
<fieldset title="dr">
<label>DR format</label>
<select>
<option selected label="dr16" data-weeks="52" value="0,327">
DR 16 sides</option>
<option label="dr8" data-weeks="52" value="0,214">
DR 8 Tab</option>
<option label="drFF" data-weeks="52" value="0,352">
DR Full format</option>
</select>
<br><br>
<label>DR Copies</label>
<input type="text" label="dr-copies" />
</fieldset>
的+解決方案是不適合我的工作。嘗試了'var total = + value * + weeks * + copies;'並且它用console.log輸出NaN – Xavio
您是否也嘗試爲我的答案的第二部分提供變量的默認值? –
雖然發現了問題。正在使用,而不是。爲小數。所以現在+解決方案正在工作。非常感謝! – Xavio