tmpl
之前处理的时候,tmpl语法看得让人头疼,就放弃了,这次重新尝试了一下,关键代码如下:
表元素渲染代码:
{
field: 'projectName',
align: 'center',
title: '考核内容',
formatter: function(value, row, index) {
// index :对应创建行的序号
// list :自定义的,用于渲染的数据 格式:[{id:"",itemName:""},{}]
// type : 用于新增行,重新渲染时,确定上几条数据
var data = [{ index: index, list: project , type : value}];
return $("#goodsTypeTpl").tmpl(data).html();
}
},
模板代码:
<script id="goodsTypeTpl" type="text/x-jquery-tmpl">
<div>
<select class='form-control' name='beans[${index}].projectName'>
<option value=""></option>
{{each list}}
<option value="${id}" {{if isEqual(id,type) }}selected{{/if}} >${itemName}</option>
{{/each}}
</select>
</div>
</script>
主script 调用代码:
// 插件在加载结束后重新渲染
$("#bootstrap-table").on("post-body.bs.table", function (e, args) {
// 匹配name结尾为projectName的数据
// 调用select2渲染
$("select[name$='projectName']").select2(project, [""]);
});
// 处理原有数据的选择情况
function isEqual(a,b) {
var validateFlag = false;
if(a == b){
validateFlag = true;
}
return validateFlag;
}