亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Jquery 模板數據綁定插件的使用方法詳解

2019-11-20 22:33:15
字體:
來源:轉載
供稿:網友
1 綁定后臺數據到指定模板(無嵌套,內容均為后臺數據原始信息,前臺綁定)
以通話記錄頁為例:
首先指定目標容器:
復制代碼 代碼如下:

 <dl class="box_pannel_content_filled_border none" id="gvRecCalls">
   <dd class="bg_blue">
    <p class="width_level_half_2 fl nopitch"></p>
    <p class="width_level_half_5 bold fl">被叫號碼</p>
    <p class="width_level_half_5 bold fl">主叫號碼</p>
    <p class="width_level_half_6 bold fl">起始時間</p>
    <p class="width_level_half_4 bold fl" id="pAmount">金額($)</p>
    <p class="width_level_half_4 bold fl">時長</p>
    <p class="width_level_half_10 bold fl">區域</p>
    <p class="width_level_half_4 bold fl nopitch" name="pCDRHeader">CDR ID</p>
    <p class="width_level_half_2 fl none" name="pSelectCbHeader"></p>
    <p class="width_level_half_2 fr none" name="pDeleteCbHeader"></p>
   </dd>
</dl>

其次指定模板數據:
復制代碼 代碼如下:

<dl id="RecCallsTemplate" >
<dd >
<p class="center width_level_half_2 fl nopitch">
<b class="${CallMode == 1 ? 'icon_call_in' : 'icon_call_out'}" ></b>
</p>
<span class="width_level_half_5 fl"><span style="color:#FF0000;">${CalledStationId}</span></span>
<span class="width_level_half_5 fl">${CallingStationId.substr(CallingStationId.indexOf("*") + 1)}</span>
<span class="width_level_half_6 fl"  id="Start_time" >${StartTime}</span>
<span class="width_level_half_4 fl">${CSSCommonJS.ChangeDecimal(Revenue,3)}</span>
<span class="width_level_half_4 fl"><span style="color:#FF0000;">${CSSCommonJS.GetTimeFormatString(RevenueTime)}</span></span>
<span class="width_level_half_10 fl">${Location} </span>
<span class="width_level_half_4 fl nopitch" name="pCDRHeader" >${CdrId}</span>
<p class="right width_level_half_2 fr none" name="pSelectCbHeader">
<input  type="checkbox" name="cbSelect" class="label" /></p>
<span class="fl none" name="pDeleteCbHeader">
<button class="crm_btn norm" id="btDelete"><b>刪除</b></button>
</span>
</dd>

</dl>

后臺進行綁定:
 <script src="Scripts/jquery.tmpl.js" type="text/javascript"></script>
function RenderTemplatefunction(container, template, data) {
    $(template).tmpl(data).appendTo(container); //原始方法
};
 CSSCommonJS.RenderTemplatefunction($(t.panelID).find("#gvRecCalls"), $(t.panelID).find("#RecCallsTemplate"), result.CdrData);
2 指定模板中無通配符,后臺填充數據(許愿墻實現)
前臺:
復制代碼 代碼如下:

 <div id="content">
                    <!-- 模板數據-->
                    <div id="ItemList">
                    </div>
                    <!-- 模板數據end-->
                </div>
 <div id="ItemTemplate" style="display: none;">
        <dd>
            <div class="items">
                <div class="bg">
                    <div class="info">
                        <a href="#" id="btnTitle"><span id="item_title"></span></a>
                    </div>
                    <div class="k">
                    </div>
                    <div class="person" id="item_person">
                    </div>
                    <div class="date" id="item_date">
                    </div>
                </div>
            </div>
        </dd>
    </div>

后臺進行取數據綁定,綁事件等。
復制代碼 代碼如下:

    //獲取許愿墻數據
    $.get("control/controler.ashx?t=" + new Date(), { type: 'heartwall', date: new Date() }, function (data) {
        var jsonData = eval("(" + data + ")");
        //alert(jsonData.table[1].title);
        RenderTemplatefunction($("#ItemList"), $("#ItemTemplate"), jsonData.table);
        $("#ItemList").children("dd").each(function (index) {
            var tTr = this;
            var selectedItem = $.tmplItem(this);
            var tmp_title = $(tTr).find("#item_title");
            var tmp_person = $(tTr).find("#item_person");
            var tmp_date = $(tTr).find("#item_date");
            var btnTitle = $(tTr).find("#btnTitle");
            var bgNumber = "it" + Math.floor(Math.random() * 10 + 9) + ".jpg"; //1-10的隨機數
            var bg = $(tTr).find(".bg");
            bg.css('background-image', "url('img/bg/" + bgNumber + "')");
            var getRandomColor = function () {
                return (function (m, s, c) {
                    return (c ? arguments.callee(m, s, c - 1) : '#') +
                        s[m.floor(m.random() * 16)]
                })(Math, '0123456789abcdef', 5)
            }
            var Color = getRandomColor();
            $(tTr).find("#item_title").css('color', Color.toString());
            //綁定數據
            tmp_title.html(selectedItem.data.title);
            tmp_person.html(selectedItem.data.pubName);
            tmp_date.html(selectedItem.data.addDate.toString().split(' ')[0].replaceAll('/', '-').toString());
            btnTitle.click(function () {
                var heart_date = "";
                if (selectedItem.data.beginDate.toString() == selectedItem.data.endDate.toString()) {
                    heart_date = selectedItem.data.beginDate.toString().split(' ')[0].replaceAll('/', '-');
                }
                else {
                    heart_date = selectedItem.data.beginDate.toString().split(' ')[0].replaceAll('/', '-') + " 至 " +
selectedItem.data.endDate.toString().split(' ')[0].replaceAll('/', '-');
                }
                $("#heart_title").html(selectedItem.data.title);
                $("#heart_content").html(selectedItem.data.content);
                $("#heart_date").html(heart_date);
                $("#heart_person").html(selectedItem.data.participator);
                $("#heart_contact").html(selectedItem.data.contact);
                $("#heatr_puber").html(selectedItem.data.pubName);
                //ShowBox
                this.href = "#heartInfo_content";
                $(this).addClass("heartInfo_inline");
                $("#heartInfo_content").show();
                showDialog();
            });
        });
    });

3 嵌套綁定 (目標數據源中含有多個數組,分別綁定到對應的子模板)
賬單頁面為例:
前臺:
復制代碼 代碼如下:

目標容器
<span class="width_level_0 fl nopitch" id="ProductBilling">

                                    </span>
外層模板
<div id="ProductBillingTemplate" class="none">
<dl class="box_pannel_content_filled_special">
                                         <dd class="border_none_special_top">
                                             <p class="width_level_half_3 fl"></p>
                                                <span class="width_level_9 fl"><b class="bold" id="bComboName"></b> <b id="bTel"></b></span>
                                            </dd>
                                         {{tmpl(BillTransactions) "#BillingDetailDateTemplate"}}
                                         <span style="color:#FF0000;">   {{tmpl(RebateInstances) "#BillingDetailDateTemplate"}}</span>  固定寫法,第一個參數為數據源中的第二個數組,第二個為使用的子模板
                                            {{tmpl(TopUpDetails) "#BillingDetailDateTemplate"}}
                                        </dl>
</div>
子模板
<div id="BillingDetailDateTemplate" class="none">
<dd class="border_none_special">
    <p class="width_level_half_3 fl"></p>
    <p class="width_level_half_12 fl">${(<span style="color:#FF0000;">typeof(Name) == "undefined" ? Type : Name</span>) + ":"}</p> <span style="color:#FF0000;">
子模板是三個數據源的公共模板,可能屬性的名稱會有不同,需要判斷</span>
    <span class="width_level_1 fl" id="spamount" title = "{{= CreateDate }}">${CSSCommonJS.ChangeDecimal((typeof(InitialAmount) == "undefined" ?
 Amount : InitialAmount), 2)}</span>
    <span class="width_level_5 fl" id="spdescription">${Description}</span>
</dd>
</div>

后臺綁定
復制代碼 代碼如下:

CSSCommonJS.RenderTemplatefunction($(t.panelID).find("#ProductBilling"), $(t.panelID).find("#ProductBillingTemplate"), billingDetail);
    //
    $(t.panelID).find("#ProductBilling").children("dl").each(function (index) {
        var tTr = this;
        var selectedItem = $.tmplItem(this);
        var bComboName = $(tTr).find("#bComboName");
        var bTel = $(tTr).find("#bTel");
        var n = selectedItem.data;
        var curAcct = CSSCommonJS.GetCurrentUser(t.masterUser, n.AccountId); // n.BusinessAccountId);
        var curpstn = "";
        if (curAcct.AccountType == CSSAccountType.BB) {
            if (curAcct.DID) {
                if (curAcct.CountryCode == "1") {
                    curpstn = "(Tel:" + CSSCommonJS.FormatUSCAPhone(curAcct.DID) + ")";
                }
                else {
                    curpstn = "(Tel:" + curAcct.DID + ")";
                }
            }
            else if (curAcct.BBNumber) {
                curpstn = "(" + curAcct.BBNumber + ")";
            }
        }
        else if (curAcct.AccountType == CSSAccountType.HY) {
            curpstn = "(" + curAcct.HYNumber + ")";
        }
        else if (curAcct.AccountType == CSSAccountType.DSL) {
            curpstn = "(" + curAcct.DSLNumber + ")";
        }
        bComboName.html(curAcct.ComboName);
        bTel.html(curpstn);
        if ((n.BillTransactions.length + n.RebateInstances.length + n.TopUpDetails.length) == 0) {
            $(tTr).hide();
        }
        $(tTr).find(".border_none_special").each(function (spindex) {
            var tdd = this;
            var selectedItem = $.tmplItem(this);
            var spamount = $(tdd).find("#spamount");
            var spdescription = $(tdd).find("#spdescription");
            if (t.currentAdmin.Valid) {
                spamount.attr("title", spamount.attr("title").formatDate(t.masterUser, ""));
            }
            else {
                spdescription.hide();
            }
        });
  });

嵌套綁定是模板自動完成的。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美日韩亚洲精品| 亚洲精品videossex少妇| 久久天天躁日日躁| 色噜噜国产精品视频一区二区| 亚洲综合在线中文字幕| 色综合久久精品亚洲国产| 国产一区二区三区四区福利| 97福利一区二区| 欧美日韩中文字幕综合视频| 97超级碰碰碰久久久| 97色在线观看免费视频| 国产精品视频一| xxxxxxxxx欧美| 久久露脸国产精品| 日韩欧美精品网站| 国产精品mp4| 亚洲丝袜在线视频| 欧美成人黑人xx视频免费观看| 欧美高清一级大片| 色偷偷噜噜噜亚洲男人| 久久91超碰青草是什么| 日韩在线视频免费观看| 国产精品伦子伦免费视频| 日韩亚洲成人av在线| 97人人模人人爽人人喊中文字| 欧美日韩亚洲91| 亚洲free性xxxx护士白浆| 亚洲成人久久久久| 久久综合久中文字幕青草| 久久国产加勒比精品无码| 国产亚洲一区二区在线| 成人欧美一区二区三区在线| 国产一区二区视频在线观看| 国产亚洲精品久久久久久牛牛| 中文字幕日本欧美| 精品亚洲一区二区三区在线观看| 成人综合国产精品| 亚洲精品一区在线观看香蕉| 国产精品人成电影在线观看| 26uuu日韩精品一区二区| 国产成人综合精品| 国产玖玖精品视频| 中文字幕视频一区二区在线有码| 中文字幕日韩专区| 亚洲福利在线播放| 亚洲老头老太hd| 夜夜嗨av一区二区三区四区| 91精品久久久久久久久久久久久| 欧美日韩一二三四五区| 2019中文字幕在线免费观看| 91精品国产乱码久久久久久蜜臀| 欧美精品日韩www.p站| 91精品久久久久久久久久久久久| 亚洲成人aaa| 亚洲国产日韩欧美在线99| 成人免费在线视频网站| 亚洲2020天天堂在线观看| 亚洲精品成人久久| www.久久久久久.com| 亚洲第一精品久久忘忧草社区| 国产精品69av| 日韩av片永久免费网站| 日韩精品在线观看网站| 久久久精品日本| 国产欧美日韩高清| 国产精品对白刺激| 日韩中文在线视频| 91精品国产91久久久久久| 久久成人精品一区二区三区| 欧美日韩美女在线观看| 亚洲高清久久久久久| 97超碰蝌蚪网人人做人人爽| 日本成人激情视频| 亚洲免费av片| 91精品国产成人www| 亚洲综合中文字幕68页| 色无极影院亚洲| 亚洲色图狂野欧美| 精品久久香蕉国产线看观看gif| 午夜剧场成人观在线视频免费观看| 久久久噜噜噜久久| 浅井舞香一区二区| 亚洲桃花岛网站| 色偷偷88888欧美精品久久久| 色婷婷成人综合| 国产综合香蕉五月婷在线| 日韩影视在线观看| 国产精品免费观看在线| 精品国产一区二区三区在线观看| 色综合久综合久久综合久鬼88| 欧美电影在线观看| 亚洲福利在线观看| 免费成人高清视频| 欧美洲成人男女午夜视频| 欧美日韩在线视频观看| 日韩高清电影好看的电视剧电影| 日韩在线观看免费网站| 精品自拍视频在线观看| 日韩一区二区精品视频| 欧美性猛交xxx| 欧美成人精品一区二区三区| 成人乱色短篇合集| 亚洲欧美国产精品专区久久| 黄色一区二区在线观看| 欧美另类极品videosbest最新版本| 亚洲成人网av| 亚洲色图50p| 亚洲国产精品大全| 欧美黄网免费在线观看| 成人免费自拍视频| 欧美在线亚洲在线| 精品日本美女福利在线观看| 国产精品18久久久久久首页狼| 精品国产一区二区三区四区在线观看| 狠狠综合久久av一区二区小说| 久久精品国产精品亚洲| 成人免费观看a| 久久噜噜噜精品国产亚洲综合| 最新国产精品亚洲| 亚洲人a成www在线影院| 亚洲美女视频网| 国产福利精品av综合导导航| 综合网中文字幕| 91最新在线免费观看| 热久久这里只有| 成人福利免费观看| 亚洲国产精品久久久久秋霞蜜臀| 2019中文字幕全在线观看| 在线国产精品视频| 欧美日韩中文在线观看| 日韩精品在线免费播放| 亚洲精品在线观看www| 久久精品国产亚洲| 日韩经典一区二区三区| 日本精品久久电影| 欧美亚洲伦理www| 一区二区在线免费视频| 国产视频精品久久久| 日韩欧美精品在线观看| 尤物yw午夜国产精品视频| 精品久久久国产| 国产一区玩具在线观看| 2019中文字幕在线观看| 伊人激情综合网| 亚洲黄一区二区| 欧美大片免费观看| …久久精品99久久香蕉国产| 中文字幕久热精品在线视频| 欧美大尺度激情区在线播放| 国产婷婷97碰碰久久人人蜜臀| 日本伊人精品一区二区三区介绍| 亚洲国产私拍精品国模在线观看| 亚洲一区二区在线| 亚洲男人天天操| 国产免费一区二区三区香蕉精| 亚洲第一区中文99精品| 亚洲免费伊人电影在线观看av| 日韩美女在线播放| 久久av在线看| 欧美午夜视频一区二区| 久久资源免费视频| 俺去亚洲欧洲欧美日韩| 亚洲天堂男人天堂| 色综合久久88色综合天天看泰|