各位,不好意思,求助一个问题.
近日在做购物车页面,购物车里的购买数量是可以通过点击"+"和"-"实现数量的加减的,但当用{foreach}读取出购物车列表时,无论点击那个商品相应input的"+"和"-",都是更新第一个input的数据.请问有什么办法能让我点击不同商品的"+"和"-"更新相应商品input里的数量?shopcart.php里的部分代码:
{foreach from=$carts item=cart}
<tr height="129">
<td>{$cart.pid}</td>
<td>
<center><img src="pimages/{$cart.ppic_s}" alt="{$cart.pname}"/></center>
<center><a href="#">{$cart.pintro}</a></center>
</td>
<td align="center">{$cart.pname}</td>
<td align="center">¥{$cart.pprice}</td>
<td align="center"><a href="javascript:abdc();"><img src="images/bg_open.gif" /></a><input id="shuliang"name="{$cart.pid}" type="text" size="2" value='{$cart.qty}'><a href="javascript:abdce();"><img src="images/bg_close.gif" /></a></td>
<td align="center">¥{$cart.pprice*$cart.qty}</td>
<td align="center"><a href="cart.php?act=delete&pid={$cart.pid}">删除</a></td>
</tr>
{/foreach}
js里的代码:
function $(e){
return document.getElementById(e);
}
function abdc(){
var sl=$('shuliang').value;
sl=parseInt(sl)+1;
$('shuliang').value=sl;
}
function abdce(){
var sl=$('shuliang').value;
if (sl>0){
sl=parseInt(sl)-1;
}
$('shuliang').value=sl;
};
近日在做购物车页面,购物车里的购买数量是可以通过点击"+"和"-"实现数量的加减的,但当用{foreach}读取出购物车列表时,无论点击那个商品相应input的"+"和"-",都是更新第一个input的数据.请问有什么办法能让我点击不同商品的"+"和"-"更新相应商品input里的数量?shopcart.php里的部分代码:
{foreach from=$carts item=cart}
<tr height="129">
<td>{$cart.pid}</td>
<td>
<center><img src="pimages/{$cart.ppic_s}" alt="{$cart.pname}"/></center>
<center><a href="#">{$cart.pintro}</a></center>
</td>
<td align="center">{$cart.pname}</td>
<td align="center">¥{$cart.pprice}</td>
<td align="center"><a href="javascript:abdc();"><img src="images/bg_open.gif" /></a><input id="shuliang"name="{$cart.pid}" type="text" size="2" value='{$cart.qty}'><a href="javascript:abdce();"><img src="images/bg_close.gif" /></a></td>
<td align="center">¥{$cart.pprice*$cart.qty}</td>
<td align="center"><a href="cart.php?act=delete&pid={$cart.pid}">删除</a></td>
</tr>
{/foreach}
js里的代码:
function $(e){
return document.getElementById(e);
}
function abdc(){
var sl=$('shuliang').value;
sl=parseInt(sl)+1;
$('shuliang').value=sl;
}
function abdce(){
var sl=$('shuliang').value;
if (sl>0){
sl=parseInt(sl)-1;
}
$('shuliang').value=sl;
};
<tr height="129">
<td>{$cart.pid}</td>
<td>
<center><img src="pimages/{$cart.ppic_s}" alt="{$cart.pname}"/></center>
<center><a href="#">{$cart.pintro}</a></center>
</td>
<td align="center">{$cart.pname}</td>
<td align="center">¥{$cart.pprice}</td>
<td align="center"><a href="javascript:abdc({$cart.pid});"><img src="images/bg_open.gif" /></a><input id="{$cart.pid}"name="{$cart.pid}" type="text" size="2" value='{$cart.qty}'><a href="javascript:abdce({$cart.pid});"><img src="images/bg_close.gif" /></a></td>
<td align="center">¥{$cart.pprice*$cart.qty}</td>
<td align="center"><a href="cart.php?act=delete&pid={$cart.pid}">删除</a></td>
</tr>
{/foreach}
js里的代码:
function $(e){
return document.getElementById(e);
}
function abdc(pid){
var sl=$('pid').value;
sl=parseInt(sl)+1;
$('pid').value=sl;
}
function abdce(pid){
var sl=$('pid').value;
if (sl>0){
sl=parseInt(sl)-1;
}
$('pid').value=sl;
};
好了还有我记得,el表达式是${....}这样取吧.{$...}可以出来了么?