在artTemplate的标签中使用外部函数的方法

第一步,声明函数,并将函数作为data对象的属性。
例如:

var resArray = new Array();
function beforeRender(data)
{
    //addToArray为想在template的标签中执行的函数
    var addToArray = function(id, rec){
        resArray[id] = rec;
    };
    data.addToArray = addToArray;
}

function submit(){
    $.ajax({
        type : "POST",
        async : false,
        url : url,
        success : function(data) {
            if(data.success)
            {
              beforeRender(data);
              var html = template.render('select_media', data);
              document.getElementById('select_media_div').innerHTML = html;
            }else{
                if(data.info=="notlogin"){
                    top.location = "/admin";
                }else{
                    alert(data.info);
                }
            }
        }
    });
}

第二步,在template标签中使用函数

<span id="select_media_div"></span>
<script type="text/html" id="select_media" >
    <select class="form-control wid0" name="media_id" id="media_id" onchange="change()">
        <option value="0" >全部类型</option>
            <% 
                for (var i = 0; i < table_List.length; i ++) { 
                addToArray(i, table_List[i]);
            %>
                <option value="<%=table_List[i].columns.ID%>" ><%=table_List[i].columns.MEDIA_TYPE%></option>
            <% } %>     
    </select>
</script>
原文地址:https://www.cnblogs.com/cczhoufeng/p/3822657.html