template

by Erik

HTML

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>
<div id="content">
  Content here
</div>

<button type="button" id="button">run!</button>

JavaScript

$(function() {

  var myData = [new Date(), 1233.134, -543, 132412342134.123, "hi all!", 5]
  var myFormat = [['d','DD.MM.YYYY kk:mm'], ['n', '0,0.00'],,['n', '0,0'],,]

	 
	function _formatter(type, value, format) {
  	if (type == 'd') 
    	return moment(value).format(format);
    else if (type == 'n')
      return numeral(value).format(format);
    else 
    	return value;
  }
  
  function render(data, format) {
  	text = "<tr>";
    for(var i=0;i<format.length;i++) {
      f = format[i];
			
      text += "<td>";
      text += f? _formatter(f[0], data[i], f[1]) : data[i];
      text += "</td>";
    }
    text += "</tr>"
    return text;
  }

	out = render(myData, _formatter, myFormat);
  
  $('#button').click(function() {

    out = render(myData, myFormat);

    $('#content').text(out);
  });

});