【问题标题】:using multiple clauses in if in jQuery template在 jQuery 模板中的 if 中使用多个子句
【发布时间】:2014-03-17 18:42:32
【问题描述】:

我想在 jQuery 模板中的 if 子句中使用一个变量。控制台日志说:

未捕获的语法错误:意外的令牌 {

这是我的代码:

 var isActive = true;
                    var isPasive = false;
                    var isGuest = false;
        
                      var tmp = '<script>' +

            '{{each hastalar}}' +
                '<a href="#" class="patientRow" data-name="${$value.M_AdiSoyadi}" data-tc="${$value.M_TcKimlikNo}" data-tahlilgunu="${$value.M_TahlilGunu}"> ${M_AdiSoyadi}' +
                '{{if $value.M_HastaBulunmaDurumu == "1" && ${isActive} }}' +
                    '<img id="imgMember_${$value.M_TcKimlikNo}" src="images/greenmember.png" title="Hasta klinik ve DYOB kayıtlarıyla örtüşüyor." style="width:15px;height:15px;"/>' +

                '{{else  $value.M_HastaBulunmaDurumu == "2" }}' +
                   '<img id="imgMember_${M_TcKimlikNo}" src="images/bluemember.png" title="Hasta kliniğinizde mevcut fakat DYOB sisteminde sizin kliniğinizde görünmüyor. Lütfen DYOB sistmine hasta kaydını yapınız." style="width:15px;height:15px;"/>' +
                '{{else $value.M_HastaBulunmaDurumu == "3"}}' +
                    '<img id="imgMember_${M_TcKimlikNo}" src="images/redmember.png" title="Hasta kliniğinizde mevcut değil fakat DYOB sisteminde sizin kliniğinizde görünüyor. Lütfen kan tahlili yapılan hastaların listesini kontrol ediniz." style="width:15px;height:15px;"/>' +
                '{{/if}}' +
                '<img id="imgResult_${$value.M_TcKimlikNo}"/>' +
                '<img id="imgInfo_${$value.M_TcKimlikNo}"/>' +

                '</a>' +
            '{{/each}}' +
            '</script>';

我使用 jquery.tmpl.min.js。 if 子句中的变量应该怎么做?

【问题讨论】:

  • 我需要更多输入。 1.您使用哪些框架? 2.请提供完整的tmp字符串,否则找不到错误。
  • @chris.tian 我使用 jquery 1.10.2 版本。我更新了我的问题
  • 仍然不是很清楚。您是否使用任何库来制作模板?
  • '{{each hastalar}}' 似乎是某个模板的注释。您是否使用任何模板引擎?

标签: javascript jquery asp.net jquery-templates


【解决方案1】:

对于在 JavaScript 字符串中替换变量的通用方法,您可以使用以下 sn-p;

var tmp = '<script>' +
          ... +
          '<\/script>'
          .replace('${isActive}', isActive)
          .replace('${isPassive}', isPassive)
          .replace('${isGuest}', isGuest)

对于您的问题的更详细的解决方案,我们需要有关您正在使用的框架和模板引擎的信息。

编辑:

我注意到结束脚本标记会导致错误。您可能想像这样转义结束脚本标记:

   <\/script>

【讨论】:

  • 同样的错误。当我编辑我的问题时,我使用 jquery.tmpl.min.js 。
猜你喜欢
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
  • 1970-01-01
相关资源
最近更新 更多