php span点击事件,jQuery on()方法绑定动态元素的点击事件

我正在做一个商城相关的项目,需要用到购物车。购物车的数据我存在了session里,但是在前端需要实时更新购物车的数据,所以动态的创建了元素。

在jquery中,要给动态元素绑定事件,我使用了on方法,但是该方法一直不生效,必须刷新页面才能删除购物车的数据,请大家帮忙看看。

项目使用的是ThinkPHP框架。

/**

*

* @authors tudouya (http://www.php101.cn/)

* @date 2015-04-08 01:37:39

* @version $1.0$

*/

namespace Mall\Controller;

use Think\Controller;

class CartController extends Controller {

public function __construct(){

parent::__construct();

// session(null);

if(!isset($_SESSION['cart'])){

$_SESSION['cart'] = array();

}

}

public function index(){

kd($_SESSION);

}

public function addItem(){

/*

* TODO --- 安全方面的考虑

*/

$good_id = intval(I('post.good_id'));

if(isset($_SESSION['cart'][$good_id])){

$_SESSION['cart'][$good_id]['good_num'] += 1;

$html = '';

$total_price = 0;

foreach($_SESSION['cart'] as $k=>$v){

$total_price += $v['good_price']*$v['good_num'];

$html .= '

'.'
'.$v['good_name'].'
'.$v['good_price'].'
';

}

$html .= '

商品数量:'.count($_SESSION['cart']) . ' Total: ¥'.$total_price.'
';

exit($html);

}

$good_name = I('post.good_name');

$good_price = I('post.good_price');

$good_image = I('post.good_image');

$good_num = intval(I('post.good_num'));

$good = compact('good_id', 'good_name', 'good_price', 'good_image', 'good_num');

$_SESSION['cart'][$good_id] = $good;

$html = '';

$total_price = 0;

foreach($_SESSION['cart'] as $k=>$v){

$total_price += $v['good_price']*$v['good_num'];

$html .= '

'.'
'.$v['good_name'].'
'.$v['good_price'].'
';

}

$html .= '

商品数量:'.count($_SESSION['cart']) . ' Total: ¥'.$total_price.'
';

exit($html);

}

public function removeItem(){

$good_id = intval(I('post.good_id'));

unset($_SESSION['cart'][$good_id]);

$html = '';

$total_price = 0;

foreach($_SESSION['cart'] as $k=>$v){

$total_price += $v['good_price']*$v['good_num'];

$html .= '

'.'
'.$v['good_name'].'
'.$v['good_price'].'
';

}

$html .= '

商品数量:'.count($_SESSION['cart']) . ' Total: ¥'.$total_price.'
';

exit($html);

}

}

?>

$total_price = 0;

foreach($_SESSION['cart'] as $k=>$v){

$total_price += $v['good_price']*intval($v['good_num']);

?>

<?php echo $v['good_name']; ?>

¥<?php echo $v['good_price']; ?>

商品数量: <?php echo count($_SESSION['cart']); ?>

Total: ¥<?php echo $total_price; ?>

$(function(){

remove_url = "{:U('mall/cart/removeitem')}";

$('#shoppingCartWrapper').find('.shoppingCartRemoveProductButton').on('click',function(){

good_id = $(this).prev().prev().val();

$.ajax({

'url': remove_url,

'type': 'post',

'data': {'good_id': good_id},

'success': function(data){

$('#shoppingCartButtons').prevAll().remove();

$('#shoppingCartButtons').before(data);

}

});

});

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值