我想实现的是在购物车列表中,点击不同商品的"+"和"-",更新相应商品的数量.
在静态页面中使用JS已经实现,但转到动态时使用{foreach}{/foreach}循环读取购物车列表时,不知如何绑定,希望各位高手帮帮忙.
下面贴出部分代码.js代码:function add(s){  
    for(var i=0;i<=20;i++){  
        if(i==s){  
            v=document.getElementById("goods_number"+i).value;  
            if(isNaN(v)){  
                alert("必须为数字");  
            }  
            else{  
            document.getElementById("goods_number"+i).value=parseInt(v)+1;  
            var n=document.getElementById("goods_number"+i).value;  
               }   
        }  
    }  
}  function cut(s){  
    for(var i=0;i<=20;i++){  
        if(i==s){  
            v=document.getElementById("goods_number"+i).value;  
            if(isNaN(v)){  
                alert("必须为数字");  
            }  
            else{  
            if(parseInt(v)<=1){  
                document.getElementById("goods_number"+i).value=1;  
            }  
            else{  
                document.getElementById("goods_number"+i).value=parseInt(v)-1;  
            }        
        }
}  
       }  
}  
静态时shopcart.html代码:                     <tr height="129">
                         <td>
                             <center><img src="images/p1.jpg" /></center>
                                <center><a href="#">KKK</a></center>
                            </td>
                         <td align="center">可可</td>
                         <td align="center">¥5500元</td>
                         <td align="center"><a id="cut_number0" onclick="cut(0)" href="#"><img src="images/bg_close.gif" /></a><input type="text" value="1" size="2" onblur="sum_single(0)" id="goods_number0"><a onclick="add(0)" id="add_number0" href="#"><img src="images/bg_open.gif" /></a></td>
                         <td align="center">¥5500元</td>
                         <td align="center"><a href="#">删除</a></td>
                        </tr>
                     <tr height="129">
                         <td>
                             <center><img src="images/p2.jpg" /></center>
                             <center><a href="#">A5600</a></center>
                            </td>
                         <td align="center">尼尼</td>
                         <td align="center">¥5500元</td>
                         <td align="center"><a id="cut_number1" onclick="cut(1)" href="#"><img src="images/bg_close.gif" /></a><input type="text" value="1" size="2" onblur="sum_single(1)" id="goods_number1"><a onclick="add(1)" id="add_number1" href="#"><img src="images/bg_open.gif" /></a></td>
                         <td align="center">¥5500元</td>
                         <td align="center"><a href="#">删除</a></td>
                        </tr>
                        <tr height="129">
                         <td>
                             <center><img src="images/p2.jpg" /></center>
                             <center><a href="#">A560</a></center>
                            </td>
                         <td align="center">康康</td>
                         <td align="center">¥5500元</td>
                         <td align="center"><a id="cut_number2" onclick="cut(2)" href="#"><img src="images/bg_close.gif" /></a><input type="text" value="1" size="2" onblur="sum_single(2)" id="goods_number2"><a onclick="add(2)" id="add_number2" href="#"><img src="images/bg_open.gif" /></a></td>
                         <td align="center">¥5500元</td>
                         <td align="center"><a href="#">删除</a></td>
                        </tr>
                    </tbody>转为动态时shopcart.html代码:{foreach from=$carts item=cart}
                     <tr height="129">
                         <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 id="cut_number0" onclick="cut(0)" href="#"><img src="images/bg_close.gif" /></a><input type="text" name="{$cart.pid}" value='{$cart.qty}' size="2" onblur="sum_single(0)" id="goods_number0"><a onclick="add(0)" id="add_number0" href="#"><img src="images/bg_open.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}
                        

解决方案 »

  1.   

    这段代码的问题是,动态循环的的时候:"<a id="cut_number0" onclick="cut(0)" href="#">,每次循环,id都是这个cut_number0,照成了页面上有很多,这明显与静态的时候cut_number0,cut_number1,cut_number2,不是符合的,所以这里应该有增量表示,id累加。其他地方也是同样的问题。
      

  2.   

    {foreach from=$carts item=cart}
      <tr height="129">
      <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 id="cut_number{$cart.pid}" onclick="cut({$cart.pid})" href="#"><img src="images/bg_close.gif" /></a><input type="text" name="{$cart.pid}" value='{$cart.qty}' size="2" onblur="sum_single({$cart.pid})" id="goods_number{$cart.pid}"><a onclick="add({$cart.pid})" id="add_number{$cart.pid}" href="#"><img src="images/bg_open.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}///////////////////////////////////////////