[英]Jquery keyup() function not work properly
我是編程方面的初學者。 我找不到什么問題。 當我更改號碼時。 它沒有我想要的。
HTML:
<tr>
<td><?php echo $food ;?></td>
<td id="price"><?php echo $price ;?></td>
<td><input type="text" value="1" id="num"></td>
<td id="total">50</td>
<td><a href="#">X</a></td>
</tr>
jQuery的:
$('#num').keyup(function(){
var price = parseInt($('#price').val());
var num = parseInt($('#num').val());
price = price * num;
$('#total').html(price);
});
<td id="price">
是一個表格單元,因此,您無法在此處嘗試訪問其value
var price = parseInt($('#price').val());
.val()
方法適用於input
, select
和textarea
元素, 而不是 td
元素。 您可以根據自己的實際情況選擇幾個選項。 我建議使用.text
而不是.val()
。
另外,請注意,僅在元素#num
加載后才需要調用.keyup()
。 為了保證這一點,請使用$(document).ready()
。 完整的javascript代碼如下:
$(document).ready(function(){
$('#num').keyup(function(){
var price = parseInt($('#price').text());
var num = parseInt($('#num').val());
price = price * num;
$('#total').html(price);
});
});
嘗試將事件函數包裝在$(document).ready()中 ,或將它們移動到頁腳區域。
這不會返回任何內容:
$('#price').val() // undefined
#price
是td
元素。 td
元素沒有值。 但是,確實有文本:
$('#price').text() // the value you echo from PHP
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.