2013-03-26 58 views
0

我有這個問題,我需要知道是否有可能對XTemplate中的參數進行字符串比較操作。我的需要是知道是否有一個字符串內的子字符串。 這是我的代碼。我需要一份聲明中檢查是否「L」是RIV_FiltroXtemplate語句是否允許匹配字符串?

var detailRivenditoreTemplate = new Ext.XTemplate(
    '<tpl for="rivenditori">', 
     '<div id="boxDettaglioRivenditori">', 
     '<h1>{RIV_RagioneSociale}</h1>', 
     '<div>', 
     '{RIV_Indirizzo}', 
     '<p>{RIV_CAP} - {RIV_Localita}, {RIV_Regione}</p>', 
     '{RIV_Paese}', 
     '</div>', 
     '</div>', 
    '</tpl>' 
); 

我想這是不可能的,但我只是問,如果有人已經面臨的問題。 預先感謝您

+0

您的意思是{RIV_Filtro}字段的內容?因爲那麼你可以在XTemplate中使用if運算符。 – 2013-03-26 13:12:15

+0

是,{RIV_Filtro}'的內容。如果'{RIV_Filtro}'是**「LC」**我怎麼知道**「L」**是否是'{RIV_Filtro}'的子字符串? – axel 2013-03-26 13:15:04

+0

我已經發布了一個例子 – 2013-03-26 13:23:05

回答

1

您可以使用模板函數是這樣的:

var detailRivenditoreTemplate = new Ext.XTemplate(
    '<tpl for="rivenditori">', 
     '<div id="boxDettaglioRivenditori">', 
     '<h1>{RIV_RagioneSociale}</h1>', 
     '<div>', 
     '<tpl if="[this.checkFilter(RIV_Filtro)] &gt; -1">{RIV_Indirizzo}</tpl>', 
     '<p>{RIV_CAP} - {RIV_Localita}, {RIV_Regione}</p>', 
     '{RIV_Paese}', 
     '</div>', 
     '</div>', 
    '</tpl>', { 
     checkFilter: function(filter) { 
      return filter.indexOf("L"); 
     } 
    } 
); 

這裏有一個小提琴:http://jsfiddle.net/johanhaest/KJfDE/

在這個例子中,只有當RIV_Filtro包含「L」 RIV_Indirizzo將得到顯示。