从JSON数据传递变量
问题描述:
我正在构建一个使用Titanium for ios的移动应用程序,而且我正在艰难地将我的手臂缠绕在传递变量上。我正在使用本地数据库和远程数据库的组合来传递我的数据。在这种情况下,我想传递所选tableViewRow上的数据。显示我称之为“categorydescription”的数据的标签。在我的table.addEventListener中,我想将这些数据作为新窗口的标题传递,并将相同的数据传递给远程服务器上的php文件。这里是我试图使用的代码:从JSON数据传递变量
var xhr = Ti.Network.createHTTPClient({
onload: function() {
Ti.API.debug(this.responseText);
var json = JSON.parse(this.responseText);
for (i = 0; i < json.cms_client.length; i++) {
client = json.cms_client[i];
row = Ti.UI.createTableViewRow({
height:'44dp',
hasChild:true
});
var categorydescription = Ti.UI.createLabel({
text:client.catdesc,
font:{fontSize:'16dp', fontWeight:'bold'},
height:'auto',
left:'10dp',
color:'#000'
});
row.add(categorydescription);
tableData.push(row);
}
table.addEventListener('click',function(e) {
var win = Ti.UI.createWindow({url: 'clients.js', title: ??});
var catdesc = ??;
win.catdesc = catdesc;
Titanium.UI.currentTab.open(win,{animated:true});
});
table.setData(tableData);
有人会这么好心地告诉我我需要什么来代替?在上面的'标题'和'var catdesc'中?
答
就在类别描述和标题添加到该行对象本身:
row = Ti.UI.createTableViewRow({
height:'44dp',
hasChild:true,
categoryDescription : client.catdesc, //Add this
clientTitle : client.title // Add this
});
现在让他们在听众:
table.addEventListener('click',function(e) {
var win = Ti.UI.createWindow({url: 'clients.js', title: e.row.title});
var catdesc = e.row.categoryDescription;
win.catdesc = catdesc;
Titanium.UI.currentTab.open(win,{animated:true});
});
谢谢约西亚,我很欣赏,因为我是有你的解释很难理解如何应用我阅读的其他帖子。 – dnevels 2013-03-26 20:02:47