[英]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.