每一页显示了20件商品的信息,因为我要实现拖拽效果,所以我把每一件商品放到了一个<div class = "nav" id="{$no_d}">中,我点该页的任何一件商品获取的信息都是第一件商品的相关信息,我如何得到相应商品的信息呢。也可以这么理解:页面有20件商品,这些商品是通过一个循环在某一个地方读取信息然后显示出来的,我该如何为DIV的id赋值,才能让我获取相应商品的信息。
示例代码如下:{foreach from=$reg_info.Item item=list name=loop}
{assign var="no_d" value=$page*20-20+$smarty.foreach.loop.iteration}
<!-- item start-->
<div class = "nav" id="{$no_d}">
<table class="search_item" cellspacing="0" cellpadding="0" summary="商品情報">
<tr>
<td class="num" id={$no_d}><span>{$no_d}.</span><br />
<input type="checkbox" name="chkGoods[]" value="{$list.asin}" />
<input type="hidden" name="hidGoodsFlg[]" value="{$list.Registrationalready}" />
</td>
{if $list.imgurl == ''}
<td class="thum"><img src="../img/no-image/no-image48.jpg" alt="{$list.title}" /></a></td>
{else}
<td class="thum"><img src="{"/^(.+)\.([a-zA-Z]+)$/"|preg_replace:'$1._SL48_.$2':$list.imgurl}" alt="{$list.title}" /></a></td>
{/if}
</tr>
</table>
</div>

解决方案 »

  1.   

    如果是数据库读取出来的话,并且商品有ID,那么就是用商品的ID就可以了。如果没有,那么显示的时候可以设置一个变量,显示一个就增加1,这样每个商品的DIV就有唯一的标示符了。
      

  2.   


    你看到这个变量$no_d,这个就是从1到20的递增序列。还有这个变量$list.asin,它是一个商品ASIN号码,我想获取这个商品的唯一标识号,不晓得有没有可能!
    我的目的不是获取所有商品DIV的ID,我想获取任意一个DIV的ID。
    我不是在数据库里面读取的,你所说的设置一个变量,显示一个就加一,我也懂,但是我不太清楚该怎么写,还请进一步指点,谢谢!!!
      

  3.   

    还不如直接用php标记呢,smarty的不怎么样,很容易出错,我觉得。
      

  4.   

    给每个DIV一个ID,商品肯定是有ID的(如果没有就加一个自增的吧),然后在DIV上面加一个事件,网上有相关的拖拽库,直接下出来用吧!