【发布时间】:2015-08-26 15:19:28
【问题描述】:
我用这样的 php 在表单中输出一堆输入复选框和单选按钮
if($product['type']==1)
{
$selector = "<input type='checkbox' class='product' data-price='".$product['price']."' name='prod_".$product['pid']."' id='prod_".$product['pid']."' value='".$product['pid']."'>";
}
elseif($product['type']==2)
{
$selector = "<input type='radio' required class='product' data-price='".$product['price']."' name='cat_".$product['id']."' id='cat_".$product['id']."' value='".$product['pid']."'>";
}
如您所见,这些输入框包含一个data-price 元素和一个product 类
然后我使用 jquery 来监听具有产品类的元素何时发生这样的变化
$(".product").change(function(){
var product = $(this);
var price = product.data('price');
if(product.is(':checked')) {
total = total + price;
} else {
total = total - price;
}
});
我的问题是,当product var 是单选按钮时,上述内容永远不会到达 else 子句。当product var 是一个复选框时,它可以正常工作。我该怎么做才能解决这个问题?
【问题讨论】:
-
您可以在
.product上使用.each(),并在每次更改事件期间找出total
标签: php jquery checkbox radio checked