layui页面翻译时------通过js 动态创建函数及调用实现

layui 页面翻译值集,通过冬天创建函数,动态调用实现

函数创建

/**
* 格式化字段
* @param columncode
* @returns {undefined}
*/
function formatterCreate(columnCode){

var content = "";
content += "var tran = d['"+columnCode+"']==undefined?'': d['"+columnCode+"']; var vals = valueset['"+columnCode+"']; "
content += "if(vals!=undefined&&vals.length>0){ ";
content += " for(var i=0;i<vals.length;i++){ ";
content += "var val = vals[i]; ";
content += "var valid = val.VALUEID; ";
content += " var valname = val.VALUENAME; ";
content += "if($.trim(tran)==valid){ ";
content += " return valname; ";
content += " }}} return tran";
var fullCode="function formatter"+columnCode+"(d){ "+content+"};";
//内容
var script = document.createElement("script");
script.type = "text/javascript";
try {
script.appendChild(document.createTextNode(fullCode));
} catch (ex) {
script.text = fullCode;
}
document.body.appendChild(script);
}

//---调用
if(row.TYPE=='3'||row.TYPE=='4'||row.TYPE=='5'){
formatterCreate(row.COLUMNCODE); //创建翻译函数
col.templet =eval("formatter"+row.COLUMNCODE);
}

//--另一种调用方式 call(functionName)

  function call(functionName){ 

    eval("this."+functionName+"()"); 

  } 

原文地址:https://www.cnblogs.com/sx2zx/p/10879795.html