2011-11-17 71 views
0

从XML中提取数据我想在将其作为变量发送给模板之前对其进行预处理。一个stackoverflow的同事指出我Ext.Xtemplate,这是接近完成这项工作。Sencha touch Xtemplate中的Javascript问题

在我的每个记录中,我都有一个这种模式的坐标值:2.342556,48.873802,0.000000 3个项目用逗号分隔。我需要第一个和第二个。

所以我决定拆分,但它不起作用。

我尝试到目前为止(试图只显示一个用于测试值)

代码:

var tpl = new Ext.XTemplate(  
     '<div>{name}<br>{[ values.coordinates.split(',')[1] ]}</div>' 
      ); 

这种回声罢了。 如果我显示数组的[0]列,它将显示整个字符串,未分段。这意味着它没有解析逗号。

如果我用别的东西它的工作原理(例如一个整数)

代码分裂:

var tpl = new Ext.XTemplate(  
'<div>{name}<br>{[ values.coordinates.split(6)[1] ]}</div>' 
     ); 

我试图与点分裂(“”),但它抛出一个错误( “意外的字符串”)

也许我应该使用模板成员函数,但文档中的示例对我来说不是很清楚。

感谢您的帮助,

朱利叶斯·

回答

0

你需要逃脱单引号或使用双引号,像这样:

var tpl = new Ext.XTemplate(  
     '<div>{name}<br>{[ values.coordinates.split(\',\')[1] ]}</div>' 
      ); 

否则您的通话将是这样的:

var tpl = new Ext.XTemplate(  
     '<div>{name}<br>{[ values.coordinates.split(', ')[1] ]}</div>' 
      ); 

IE你通过2个参数而不是1

类似的问题将是本:

alert('o' 'hi there'); 

除了这一点,因为没有coincidential逗号在那里将抛出一个语法错误。

+0

我确实试图逃避单引号没有成功。如果我将它们转义出来,那么[0]列和[1]都不会显示任何内容。 – Matthieu

+0

你有[jsfiddle](http://jsfiddle.net)或类似的吗? – Esailija

+0

解决它,双引号是诀窍,谢谢 – Matthieu