2016-04-21 59 views
0

所以我使用這段代碼來創建一個劍道下拉列表劍道模板,其中代碼爲

<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

+0

你能包括您的數據源的聲明,以及如何/你在哪裏使用模板在你的代碼? – whipdancer

+0

@wddancer請參閱附加信息。我添加了更多信息。我懷疑這是數據源 –

+0

這很奇怪。下拉列表本身是否正確呈現?如果你使用console.log(e.item)'',輸出是什麼? – whipdancer

回答

0

答案是劍道實際讀取換行符,一旦我把它都加一條線,它的工作

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

你需要空span標記?如果不是,則可以反轉模板中的邏輯,以便永遠不會創建空白空間。

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

空白空間是由代碼行。所以在你的例子中#if(Text.indexOf('(Deleted)')== -1){#'會導致一個空行。 –

+0

如果'indexOf'返回-1,則意味着找不到'(Deleted)'。基於邏輯,我假設如果找不到'(Deleted)',你想用':TEXT'中的值來渲染一個跨度。 – whipdancer

+0

是的。邏輯工作正常。它是如何kendo解釋這些代碼行的。我將在我原來的問題中詳細闡述。 –