一、jqgrid 展示数据,需要在某个字段上加超链接,查看该条数据的详情
['详情'] { name : 'detail', index : '', width : 60,//宽度 fixed : true,//宽度固定不变 sortable : false,//不作为排序条件 search : false,//不作为搜索条件 resize : false, align: 'center', } gridComplete : function() { var ids = jQuery(grid_selector).jqGrid('getRowData'); for (var i = 0; i < ids.length; i++) { var cl = ids[i].odhpk; var be = ""; /* be = "<input style='height:30px;40px;background-image: url("../assets/images/32.png")' type='button' value='' />"; */ be = "<a href="#page/signreceive/detail/"+cl+"">"+'明细'+"</a>"; jQuery("#grid-table").jqGrid('setRowData',ids[i].id,{detail : be}); } } });
核心方法:
jQuery("#grid-table").jqGrid('setRowData',ids[i].id,{detail : be});
出错的地方,方法的第二个参数应该设置 ids[id].id
也就是 改行的id 是jqgrid 生成的。
所以需要
colModel : [
{
name : 'id',
width : 50,
hidden : true,
jsonmap : "id",
}
二、进入页面的时候,后台出入了值进来,需要获取
页面使用了vue 和 thymeleaf
自己一直 #{message} 这样取值但是没有取到
后来发现忽略了一个重要的点:
【 就是取值的地方 是在html 里 还是 js 中 ,不同的地方语法不同 】
Thymeleaf 取值
2.页面通过Model取值
<p th:text="#{message}"> default message</p>
3.js通过model取值
<script th:inline="javascript">
var message = [[${message}]] ;
console.log(message);
</script>
url : "signreceive/bodylist?odhpk=" + [[${odhpk}]], //请求路径