2016-10-22 97 views
-3

我是ICT課程的新生,我們有一個項目。我的jQuery不起作用

我目前正在爲我的jQuery代碼添加購物車。當我選擇例如5的購買數量時,當我點擊添加購物車時,總計結果將出現在文本字段中。出於某種原因,它不起作用。我已經嘗試過JavaScript,但它也不起作用。

這裏是我的代碼:

$(function() { 
 
    var $myNumber = $("#myNumber"); 
 
    var $add = $("#add"); 
 

 
    $add.click(function() { 
 
    var input = $myNumber.val(); 
 
    $('#item').val($(input).val() * $('5000').val()); 
 

 
    }); 
 
}); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<html> 
 
    <head></head> 
 
<body> 
 
<input type="text" id="item" readonly> 
 
    <input type="number" id="myNumber" min="1" max="5"> 
 
    <button type="button" class="button" id="add">Add Cart</button> 
 
<button type="button" class="button" id="Reor">ReOrder</button> 
 
    </body> 
 
    </html>

出於某種原因,會出來結果是NaN。我錯過了什麼?我哪裏做錯了?

+4

我們真的可以給你最好的建議是。同時查看['NaN'](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NaN)的含義,然後向後查找爲什麼結果是'NaN' 。 –

+0

'$('5000')。val()' - 這到底是什麼?我猜你沒有'<5000 />'標籤。你得到NaN是因爲你用一個字符串乘以undefined。 – Li357

+1

我是一名學生,我也有一些小科目。在菲律賓,這已經是第一學期的結束。項目已經堆積如山。我幾乎整個月都在爲這個項目工作,並且即將完成它。只需要解決這個問題,那麼我已經完成了。 –

回答

2

這是你的問題:

$('#item').val($(input).val() * $('5000').val()); 

您不必使用$('5000') ...只是使用普通的整數值進行計算。 你已經保存的值到input變量(input包含了許多的話)......你可以使用這個變量與5000

$('#item').val(input * 5000); 

$(function() { 
 
    var $add = $("#add"); 
 

 
    $add.click(function() { 
 
    var input = parseInt($("#myNumber").val(),0); 
 
    $('#item').val(input * 5000); 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<html> 
 
    <head></head> 
 
<body> 
 
<input type="text" id="item" readonly> 
 
    <input type="number" id="myNumber" min="1" max="5"> 
 
    <button type="button" class="button" id="add">Add Cart</button> 
 
<button type="button" class="button" id="Reor">ReOrder</button> 
 
    </body> 
 
    </html>

編輯乘以它: 在您的價值上使用parseInt()valuestring類型。

var input = parseInt($myNumber.val(),0); 
3

爲什麼必須用$()包裝所有東西?只是

輸入* 5000

$(function() { 
    var $myNumber = $("#myNumber"); 
    var $add = $("#add"); 

    $add.click(function() { 
    var input = $myNumber.val(); 
    $('#item').val(input * 5000); 

    }); 
}); 
0

爲什麼你有$( '5000')。VAL(),你不需要它 檢查以下內容片斷

$(function() { 
 
    var $myNumber = $("#myNumber"); 
 
    var $add = $("#add"); 
 

 
    $add.click(function() { 
 
    var input = parseInt($myNumber.val(),10); 
 
    $('#item').val(input * 5000); 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="item" readonly> 
 
    <input type="number" id="myNumber" min="1" max="5"> 
 
    <button type="button" class="button" id="add">Add Cart</button> 
 
<button type="button" class="button" id="Reor">ReOrder</button>

使用parseInt進行轉換你輸入的數字 希望它有幫助

0

在輸入你已經有#myInput元素的值和$('5000')是不需要的。只需使用該號碼。你的時間更好的下一次計劃:

試試這個:

$(function() { 
 
    var $myNumber = $("#myNumber"); 
 
    var $add = $("#add"); 
 

 
    $add.click(function() { 
 
    var input = $myNumber.val(); 
 
    $('#item').val(input * 5000); 
 

 
    }); 
 
}); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<html> 
 
    <head></head> 
 
<body> 
 
<input type="text" id="item" readonly> 
 
    <input type="number" id="myNumber" min="1" max="5"> 
 
    <button type="button" class="button" id="add">Add Cart</button> 
 
<button type="button" class="button" id="Reor">ReOrder</button> 
 
    </body> 
 
    </html>