根据值替换td

时间:2015-04-22 15:13:55

标签: javascript php html smarty

我正在使用Smarty开展一个项目。 我想在我的网页上显示我的数组的结果,并用图像替换'1'结果,而用另一个替换'0'结果。 到目前为止,我可以得到我的结果,我希望我只需要做这个替换,我真的不知道它是否可能,如果是的话,我将如何设法做到这一点。 这是我的PHP代码的一部分:

for ($c=0; $c<count($aLPO); $c++){
$aPG['P_I'] = $aLPO[$c]['P_I'];
$aPG['P_L'] = $aLPO[$c]['P_L']; 
$sGA = $aLPO[$c]['P_G_A'];
for ($i=0; $i<count($aGId); $i++){
        if (strpos($sGA , $aGId[$i]) !== false){
            $sGId = $aGId[$i]; 
            $aPG[$aG[$sGId ]] = '1';
        }
        else{
            $sGId = $aGId[$i];
            $aPG[$aG[$sGId ]] = '0';
        }   
}
array_push($aPO, $aPG);
unset($aPG);

}

$smarty->assign("aLPO", $aPO);

我的.tpl代码的一部分(html / smarty)

...
<div id="display_table_Produit_Gammes">
        <table cellpadding=0 cellspacing=0 class="tbl_datas" id="table_Produit" >
        {if $iNbProduitsOptions == 0}
            <thead>
                <tr><th></th></tr>
            </thead>
        {else}
            <thead>             
                <tr>
                    <th width='8%'>ID</th>
                    <th width='10%'>P_L</th>
                    {foreach from=$aLG item=g name=lst}
                        <th>{$g.G_L} ({$g.G_I})</th>
                    {/foreach}
                </tr>
            </thead>
            <tbody>
                    {foreach from=$aLPO item=p name=lst}
                        <tr>
                        {foreach from=$p item=pval}                        
                                <td>{$pval}</td>                            
                        {/foreach}
                        </tr>
                    {/foreach}
            </tbody>    
            {/if}
        </table>
</div>

我需要更改的结果在我的标签中,因为它们是动态收费的,我在处理方式上有点困惑。

提前感谢您的帮助,如果您需要,请随时向我索取更多信息(因为我不是英语,因此很难理解该主题的目的,我希望它足够清楚)

1 个答案:

答案 0 :(得分:1)

这里有更好的解释答案: 在smarty中你可以使用:

{if $pval eq '0'}
    <img src="image0.jpg">
{else}
    <img src="image0.jpg">
{/if}

如果使用javascript执行此操作,您可以写:

{foreach from=$p item=pval}                        
    <td class="replace_this_{$pval}"></td>                            
{/foreach}

为了向td添加一个类,然后在javascript中添加:

// select elements:
var elems = document.getElementsByClassName("replace_this_0");
// replace the <td></td> with <td><img src="image0.jpg"></td>
for(var i= 0; i< elems.length; ++i)
{
  elems[i].innerHTML = "<img src='image0.jpg'>";
}

第二张图片也一样。希望这会有所帮助。