2015-04-15 68 views
1

我列出了第一页上的类别,第二页上的子类别和第三页上的产品。现在我已将产品添加到购物车。现在将返回到类别页面,并将产品添加到购物车。如果我们需要查看购物车中的项目,我们可以声明一个全局数组[]并将数据添加到该数组[]中。但是,如果我添加了3个项目,则表示最近添加的最终项目仅显示在购物车清单项目页面中。但我想显示添加的3个项目。你能检查我的代码,并找出我的问题。动态添加钛表格中的值

Ti.App.data = []; 
data=[ 
      {title:productlist_product, 
      price:productlist_product_price, 
      quantity:selectedqty}, 
     ]; 
var myObjectString = JSON.stringify(data); 

编辑: Ti.API.info( “DATA-长度” +”“+ data.length);

这里得到的值为1。但在购物车页面有3个产品。我需要将3种产品的价值添加到数据[]中,您能否给我解决方案?

编辑:

现在我已经使用以下代码阵列[]中动态添加的值。

data = [ 
{title:productlist_product, 
price:productlist_product_price, 
image:productlist_product_image, 
quantity:selectedqty}, 
]; 

// append new value to the array 
data.push({title:productlist_product, 
      price:productlist_product_price, 
      image:productlist_product_image, 
      quantity:selectedqty}); 

    // display all values 
for (var i = 0; i < data.length; i++) { 
console.log(data[i]); 
    } 
    var myObjectString = JSON.stringify(data); 

    Ti.API.info("PRICE"+" "+myObjectString); 

现在我添加了不同数量的相同产品意味着该产品单独列出。但是,如果我添加了不同数量的同一产品,则意味着一次性列出产品名称中的产品名称,但数量需要更新产品。

例如: 如果我在购物车中添加了2个数量的“Android开发”产品。再以4数量意味着该列表现在显示的是我会添加以“Android开发”的产品相同的产品:

PRICE [{"title":"Android development","quantity":2}, 
     {"title":"Android development","quantity":4}] 

,但我想看起来像下面:

PRICE [{"title":"Android development","quantity":6}] 
+0

请解释更多的应用流量,你有三个观点,第一个是类别,并且当用户选择一个类别,应用程序导航到包含子类别,并与产品相同的第二个观点,我我对吗? – Zabady

+0

@Zabady是的,你是正确的。 –

回答

0

我现在已经使用下面的代码阵列[]中动态添加的值。

data = [ 
{title:productlist_product, 
price:productlist_product_price, 
image:productlist_product_image, 
quantity:selectedqty}, 
]; 

// append new value to the array 
data.push({title:productlist_product, 
      price:productlist_product_price, 
      image:productlist_product_image, 
      quantity:selectedqty}); 

    // display all values 
for (var i = 0; i < data.length; i++) { 
console.log(data[i]); 
    } 
    var myObjectString = JSON.stringify(data); 

    Ti.API.info("PRICE"+" "+myObjectString); 
0

您必须分配将数据数组添加到表的data属性,以便将这些对象显示为tableView行。比方说:

Ti.UI.backgroundColor = 'white'; 
var win = Ti.UI.createWindow(); 
var tableData = [ {title: 'Apples'}, {title: 'Bananas'}, {title: 'Carrots'}, {title: 'Potatoes'} ]; 

var table = Ti.UI.createTableView({ 
data: tableData}); 
win.add(table); 
win.open(); 

或者,你还可以尝试使用table.setData customTableView.setData(数据)加行;

var customTableView = Titanium.UI.createTableView({ BackgroundColor:'White', style: Titanium.UI.iPhone.TableViewStyle.GROUPED, }); 
data.push({title:productlist_product, price: productlist_product_price,quantity: selectedqty}); 
customTableView.data = data; 
+0

嗨,你可以请检查我编辑的问题,并给我一个解决方案。这正是我所遵循,需要... –

+0

你介意共享一个可运行的测试用例,以帮助排除故障。 –

0

尝试此,

var productData = [ 
        {Product_Name: 'Apples',Product_Price :50,Product_qty :5}, 
        {Product_Name: 'Banana',Product_Price :40,Product_qty :5}, 
        {Product_Name: 'Carrots',Product_Price :90,Product_qty :5} 
       ]; 
var tableData = []; 
for(var i=0;i<data.length;i++){ 
    var tableRow = Ti.UI.createTableViewRow({ 
     title :"Name :"+data[i].Product_Name+"  Price : "+data[i].Product_Price, 
    }); 
    tableData.push(tableRow); 
} 

var tableView = Ti.UI.createTableView({ 
    data: tableData 
}); 
win.add(tableView); 
+0

我总共添加了3个产品...但是仅显示在tableview.i中的最后一个产品有3个视图。一个用于类别,当用户选择一个类别时,该应用导航到包含子类别和产品相同的第二个视图。首先我添加了一个产品,然后我将返回到类别页面,然后再添加2个产品意味着最后一个产品只显示在最近由用户添加的列表中,但我需要显示所有添加的产品。你能帮我么。 –

+0

我认为你没有正确地更新你的全局数组,每当你添加或删除一个项目时,都会更新你的Ti.App.data数组。 –

+0

我如何更新全局数组?如果我点击了按钮,产品细节将被添加到数据[]中。我再次回到分类页面,如果它选择了分类,它将进入子分类页面,如果它被选中,子分类将进入产品页面。在这里,我们将选择产品并点击按钮意味着在产品上添加了正确的产品详细信息数据[]。但是我已经声明这个数据[]是全局唯一的...那么为什么所有的值都没有添加到数据[]上,最后选择的产品值只能添加到数据[]。您能否通过代码解释它以更新数据[] –