Kendo模板添加代码所在的空间

时间:2016-04-21 18:58:40

标签: javascript kendo-ui kendo-asp.net-mvc kendo-dropdown

所以我使用这段代码为kendo下拉列表创建模板

 <script id="itemTemplate" type="text/x-kendo-template">      
    #if(Text.indexOf('(Deleted)') > -1){#
    <span style="display:none"></span>
    #}else{#
    <span>#:Text#</span>
    #}#    
</script>

这里的问题是代码行被解释为空格。我的意思是增加了空白区域。 当我将一个函数绑定到select事件并尝试获取所选项目的文本时

function typeChanged(e) {
   console.log(e.item.text());
}
$("#...").data("kendoDropDownList").bind("select", typeChanged);

什么console.log返回的是上面有2个空行和2个下面的文本。请参考图片。所以我想知道有没有办法在调用trim函数旁边去掉那些空行? enter image description here

其他信息 当我在模板中添加更多代码行时,它还添加了一行额外的行

<script id="itemTemplate" type="text/x-kendo-template">
    #if(Text.indexOf('(Deleted)') > -1){}#  <-- Added this      
    #if(Text.indexOf('(Deleted)') > -1){#
    <span style="display:none"></span>
    #}else{#
    <span>#:Text#</span>
    #}#
</script>

enter image description here

当我完全删除使用模板

旧:

        @(Html.Kendo().DropDownListFor(m => m)
              .BindTo(list)
              .DataTextField("Text")
              .DataValueField("Value")
              .HtmlAttributes(attributes)
              ...
              .TemplateId("itemTemplate")
              .ValueTemplateId("tagTemplate")
        )

新:

@(Html.Kendo().DropDownListFor(m => m)
              .BindTo(list)
              .DataTextField("Text")
              .DataValueField("Value")
              .HtmlAttributes(attributes)
              ...
              < deleted >
              .ValueTemplateId("tagTemplate")
        )

Console.log()返回正常。

enter image description here

2 个答案:

答案 0 :(得分:0)

您需要空的span标签吗?如果没有,您可以反转模板中的逻辑,以便永远不会创建空白区域。

#if(Text.indexOf('(Deleted)') == -1){#
    <span>#:Text#</span>
#}#

答案 1 :(得分:0)

答案是,一旦我把它全部添加到它工作的一行,剑道实际上正在读取换行符

<script id="itemTemplate" type="text/x-kendo-template">#if(Text.indexOf('(Deleted)') > -1){#<span style="display:none"></span>#}else{#<span>#:Text#</span>#}# </script>