一、JS事件中

在使用H-uiAdmin做后台开发的时候,碰到了使用元素点击触发js函数展示弹窗的写法

但是在js函数中还需要使用U函数生成url以及使用$vo.id来传值

反复试了一下模版标签的写法   全部扑街

穷则思变,投降了,选择了混写的写法,郁闷

有点描述不清楚,具体看高亮红色内容

  <foreach name="consultions" item="vo">
<tr class="text-c">
<td><input type="checkbox" value="{<$vo.id>}" name=""></td>
<td>{<$vo.id>}</td>
<td class="text-l"><u style="cursor:pointer" class="text-primary" onClick='article_view("查看","<?=U("Backend/Consultion/view","id=$vo[id]")?>")' title="查看">{<$vo.title>}</u></td>
<td>{<$vo.thumb>}</td>
<td>{<$vo.source>}</td>
<td>{<$vo.updatetime>}</td>
<td>{<$vo.view>}</td>
<td>{<$vo.collection>}</td>
<td class="td-status"><span class="label label-success radius">已发布</span></td>
<td class="f-14 td-manage"><a style="text-decoration:none" onClick="article_stop(this,'10001')" href="javascript:;" title="下架"><i class="Hui-iconfont">&#xe6de;</i></a> <a style="text-decoration:none" class="ml-5" onClick="article_edit('资讯编辑','article-add.html','10001')" href="javascript:;" title="编辑"><i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="article_del(this,'10001')" href="javascript:;" title="删除"><i class="Hui-iconfont"></i></a></td>
</tr>
</foreach>

2018.04.08补充;

后来查看编译文件,发现之所以正常的{:U}无法解析变量是因为单引号的问题,所以上述问题还有一个简单点的解决方案

 1  <foreach name="consultions" item="vo">
2 <tr class="text-c">
3 <td><input type="checkbox" value="{<$vo.id>}" name=""></td>
4 <td>{<$vo.id>}</td>
5 <td class="text-l"><u style="cursor:pointer" class="text-primary" onClick='article_view("查看","{<:U("Backend/Consultion/view","id=$vo[id]")>}")' title="查看">{<$vo.title>}</u></td>
6 <td>{<$vo.thumb>}</td>
7 <td>{<$vo.source>}</td>
8 <td>{<$vo.updatetime>}</td>
9 <td>{<$vo.view>}</td>
10 <td>{<$vo.collection>}</td>
11 <td class="td-status"><span class="label label-success radius">已发布</span></td>
12 <td class="f-14 td-manage"><a style="text-decoration:none" onClick="article_stop(this,'10001')" href="javascript:;" title="下架"><i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="article_edit('资讯编辑','article-add.html','10001')" href="javascript:;" title="编辑"><i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="article_del(this,'10001')" href="javascript:;" title="删除"><i class="Hui-iconfont"></i></a></td>
13 </tr>
14 </foreach>

  

二、<if>标签中 的变量

  如下代码中的高亮绿的,在if标签中习惯使用 . 来取数组织,但是条件完全不触发

<foreach name="cates" item="vo">
<eq name="vo.level" value="2">
<if condition="$vo.id==$product.cateid">
<option value="{<$vo.id>}" selected>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
<else/>
<option value="{<$vo.id>}" >{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
</if>
<else/>
<option value="{<$vo.id>}" disabled><b>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</b></option>
</eq>
</foreach>

  后来看了编译文件才发现

  如果是这样的话,对于PHP而言肯定是语法错误,所以直接改成如下

<foreach name="cates" item="vo">
<eq name="vo.level" value="2">
<if condition="$vo['id']==$product['cateid']">
<option value="{<$vo.id>}" selected>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
<else/>
<option value="{<$vo.id>}" >{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</option>
</if>
<else/>
<option value="{<$vo.id>}" disabled><b>{<:str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$vo['level']-1)>}{<$vo.name>}</b></option>
</eq>
</foreach>

  

三、JS中的变量,如何在U函数中使用

如图所示:在特殊情况下遇到这种问题,js通过计算得到变量str,而改变量需要传递到控制器

最开始的想法是像正常的字符串连接一样来处理(如下图)

但是看了编译文件之后,问题就出来了

显然js的变量无法在PHP脚本中使用

反复尝试之后,发现如下写法:

总结:多看看编译文件.....

超恶心的TP模版取值的更多相关文章

  1. 【freemaker】之自定义变量,特殊变量 globals ,循环对象取值

    entity public class Employee { private Integer id; private String name; private Integer age; private ...

  2. 【freemaker】之循环,判断,对象取值

    entity: public class Employee { private Integer id; private String name; private Integer age; privat ...

  3. lr参数化取值与连接数据库

    TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束, ...

  4. 参数化取值策略Unique

    Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案,如图所示: 此处的下拉列表中提供了三种方式,具体如下: About Vuser,当取值次数超过参数的行数时,忽略脚本 ...

  5. Angular2+之使用FormGroup、FormBuilder和Validators对象控制表单(取值、赋值、校验和是否可编辑等)

    1.要使用Angular自带的表单控制需要先引入相关模块(.ts文件): import { FormGroup, //表单对象类 FormBuilder, //表单生成工具类 Validators} ...

  6. 如何解决流程开发中SheetRadioButtonList页面取值问题

    分享一个常见的取值问题. 应用场景: SheetRadioButtonList控件,点击其中一项执行事件操作.如果是页面加载的情况下,值就无法取到. 具体原因如下: 我给SheetRadioButto ...

  7. jQuery radio的取值与赋值

    取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...

  8. python通过函数改变变量取值

    严格讲应该是"通过函数调用,改变引用对象".python中,要区分"变量名"和"对象" 如果是类的对象,是引用类型的,那么可以通过函数调用, ...

  9. jsf初学selectOneMenu 绑定与取值

    jsf 的selectOneMenu 最后生成的<select>标签.这里涉及到一个binding 起初一直不知道是干嘛的,后来参考了其他文章.就相当于在asp.net 中如:<as ...

随机推荐

  1. 2018-2019-1 20189203 《Linux内核原理与分析》第七周作业

    第一部分 实验 增加fork命令,运行MenuOS 如下: 设置断点: 跟踪调试过程: 停在的do_fork()的位置上 停在copy_process 停在dup_task_struct 停在copy ...

  2. 对stm32寄存器的理解(个人理解,大神轻喷)

    学习了stm32有一年了,今天想来写写自己对寄存器的理解,帮助那些有志学习stm32的朋友们少走一些弯路. ---------------------------------------------- ...

  3. 编译器将"+"转换成了StringBuilder类

    MapReduce map100% Reduce 66% 卡死 如果你碰到map100%,reduce 66% 然后程序就貌似停止在这里了,可能是由于在Reduce类里使用了String造成的 根据一 ...

  4. Unicode编码与中文互转

    /** * unicode编码转换为汉字 * @param unicodeStr 待转化的编码 * @return 返回转化后的汉子 */ public static String UnicodeTo ...

  5. Eureka服务注册与发现

    一.服务注册 注册Eureka的服务非常的简单,只需要引入spring-cloud-starter-netflix-eureka-client的jar包即可. <dependency> & ...

  6. AUTEL MaxiSYS Pro MS908P Diagnostic System with WiFi Update Online

    The MaxiSYS? Pro has been designed to be the go-to tool for the professional technician who performs ...

  7. CSS——对height和line-height的理解

    最近在做CSS界面时经常遇到line-height和height这两个属性,一直没搞很明白,今天静下心来好好网上查阅了一下,算是有所领悟.https://blog.csdn.net/a20131263 ...

  8. PHP5.6 Dockerfile

    FROM centos COPY ["src","/src"] RUN groupadd -g 1000 www \ && useradd -u ...

  9. nginx 高并发优化参数

    关于内核参数的优化: net.ipv4.tcp_max_tw_buckets = 6000timewait的数量,默认是180000.net.ipv4.ip_local_port_range = 10 ...

  10. Java 文件重命名

    Java 文件重命名 /** * 重命名文件 * @param fileName * @return */ public static void renameFile(String filePath, ...