0

実行時にテンプレートを JsRender に適用する際に問題があります。

この画像を参照してください - ソフトウェアジーニアス株式会社

[モデルの実行] ボタンをクリックすると、コントローラーからデータを取得し、オブジェクト (resultData) 内のクライアント側でキャッシュします。

ハードコードされたテンプレートを使用すると機能します。ここにコードがあります

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

スタイルのいずれかをクリックすると、動的テンプレートを適用する必要があります。動的テンプレートも取得できます。この画像を確認してください - ソフトウェアジーニアス株式会社

以下は、私が適用しようとしている私のコードです-

// 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 ));
    }

コードのどこが悪いのか誰か教えてください。ハードコーディングが機能しているときに動的テンプレートが適用されないのはなぜですか。

4

0 に答える 0