zoukankan      html  css  js  c++  java
  • tp模版中使用js变量 和 循环为空判断

    今天花费较长时间解决了两个问题,记下来。

    都和这个语句有关:

    for(i in data){
                        str += '<div class="huodong">';
                           str += '<a href="{:U("details",array("id"=>" '+data[i].id+' "))}">';
                           if(data[i].line_pic !=null){
                           str += '<img src="'+data[i].line_pic[0].savepath + data[i].line_pic[0].savename +'" width="100%"/>';
                           }
                           str += '</a>';
                        str += '<div class="bm-text">';
                        str += '<div class="bm-text-left"><strong>'+data[i].title+'</strong></div>';
                        str += '<a href="{:U("details",array("id"=>" '+data[i].id+' "))}">';
                        str += '<div class="bm-text-right"><input type="button" value="马上报名" class="button"></div>';
                        str += '</a>';
                        str += '</div>';
                        str += '</div>';
                    }

    首先是这一行

    str += '<img src="'+data[i].line_pic[0].savepath + data[i].line_pic[0].savename +'" width="100%"/>';

    一直报错,然后一遍遍查看了结构都是对的,直到后来发现:

    有一个line_pic竟然是空的。这种问题还真是比较常见,而且严重的是会引起报错。
    所以加上了if判断
    if(data[i].line_pic !=null){
    str += '<img src="'+data[i].line_pic[0].savepath + data[i].line_pic[0].savename +'" width="100%"/>';
    }



    二、
    在循环中使用tp模版的语法一定要注意模版语法的编译时间,
    tp模版语法编译在前
    js循环数据在后
    例如这句
    str += '<a href="{:U("details",array("id"=>" '+data[i].id+' "))}">';

    在页面加载时,{}中的tp模版语法开始编译,之后循环触发时看到的只是编译后的{}中的代码
    那么问题来了,如果要在{}中写入js的变量呢,
    解决的思路是让编译后的{}代码已经是现成的js循环代码,例如让编译后的语句如下:
    str += '<a href="/index.php?g=home&m=Line&a=details&id= '+data[i].id+' ">';
    这就需要让tp模版认为把 '+data[i].id+' 当作一个字符串来处理
    写成如下成功
    str += '<a href="{:U("details",array("id"=>" '+data[i].id+' "))}">';

    注意双引号的使用
  • 相关阅读:
    Centos6.5下搭建nagios详解
    Centos6.5下升级Python版本
    Python生成随机密码
    配置apache使用https访问
    Irrlicht 论坛好贴 精选(不断补充中...)
    [原创]一个在Irrlicht中会常用的字符串转换函数
    [转]Scrolling Credits Code
    [原创]Irrlicht中的Texture透明色(colorkey)
    [原创]IrrLicht的GUI使用
    [转](C++) How to animate and move an entity
  • 原文地址:https://www.cnblogs.com/tingfengqieyu/p/5403415.html
Copyright © 2011-2022 走看看