与JsRender动态模板呈现相关的问题

时间:2012-07-25 11:03:10

标签: jquery jsrender

我在运行时将模板应用于JsRender存在问题。

请参阅此图片 - Software Genius Inc.

当我点击Execute Model按钮时,我从控制器获取数据并在on对象(resultData)中的客户端缓存。

如果我使用硬编码模板,它可以工作。这是代码

$.templates({ tmpl: "{{:#index+1}}:<b>ID=>{{:ItemID}}</b>- <i>Name=>{{:ItemName}}</i> - (Rate=>{{:Rate}}) <br />" });
$( "#outputWindow" ).html( $.render [ "tmpl" ]( resultData ));

当我点击任何一种风格时,我必须应用动态模板。我也能够获得动态模板。 请检查此图片 - Software Genius Inc.

以下是我的代码 - 我正在尝试申请 -

// Apply selected style
    function applyThisStyle(stl) {
        var id = $(stl).parent().find('#hidScannerId').val();
        var styleName = stl.innerHTML.toString().trim();
        alert('Applying style : ' + stl.innerHTML+ ', id='+id);

        //var styleText = "";
        var thisScanner = scannerDictionary[id];

        for(var i=0;i<thisScanner.Styles.length;i++) {
            if (thisScanner.Styles[i].Name == styleName) {
                alert(styleName);
                var styleText = thisScanner.Styles[i].HTMLContent;
                renderMyTemplate(styleText);
                break;
            }
        }

    }

    // Render template based on style selection
    function renderMyTemplate(t) {
        alert ("Template = " + t);
        $.templates({ tmpl: t });
        $( "#outputWindow" ).html( $.render [ "tmpl" ]( resultData ));
    }

有人能告诉我代码有什么问题吗?为什么在硬编码工作时不应用动态模板。

0 个答案:

没有答案