Здравствуйте.
Свернуть ↑
cookei - product:null%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%203-1-700%2C%204-1-850%2C%202-1-500%2C%201-1-1120%2C%202-1-500%2C%202-1-500%2C%202-1-500%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%202-1-500%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120%2C%201-1-1120
Свернуть ↑Развернуть ↓
PHP код:
var arr = get_cookie("product").split(",");
var arrres = new Array();
for(var i = 0; i < arr.length; i++){
if(arr[i] != "null"){
arr[i] = arr[i].split("-");
if(arrres[ arr[i][0] ] == 'undefined'){
arrres[ arr[i][0] ] = new Array(arr[i][0],arr[i][1],arr[i][2])
}
else{
arrres[ arr[i][0] ][1] = [ arr[i][0] ][1] + arr[i][1];
}
}
}
Ошибка:
Код:
[04.05.2013 10:53:35] JavaScript - http://test1.ru/catalog/rolls
Event thread: click
Uncaught exception: TypeError: Cannot convert 'arrres[ arr[0] ]' to object
Error thrown at line 34, column 28 in setAddBasketProduct(id, count, price) in http://test1.ru/catalog/rolls:
arrres[ arr[0] ][1] = [ arr[0] ][1] + arr[1];
called from line 1, column 11 in <anonymous function>(event) in http://test1.ru/catalog/rolls:
setAddBasketProduct(2, 1, 500)
И почему-то я не попадаею сперва в блок
PHP код:
if(arrres[ arr[i][0] ] == 'undefined'){
arrres[ arr[i][0] ] = new Array(arr[i][0],arr[i][1],arr[i][2])
}
Ведь сначало у меня arrres[ arr[0] ] == 'undefined'!!!
на выходе хочу получить массив:
Код:
[1] = [
[0] = 1;
[1] = 6;// количество товара
[2] = 10234;// общая цена товара
]
Спасибо!
Добавлено через 30 минут
Ну немного починил:
PHP код:
var arr = get_cookie("product").split(",");
var arrres = new Array();
for(var i = 0; i < arr.length; i++){
if(arr[i] != "null"){
arr[i] = arr[i].split("-");
if(!arrres[ arr[i][0] ]){
arrres[ arr[i][0] ] = new Array(arr[i][0],arr[i][1],arr[i][2]);
}
else{
arrres[ arr[i][0] ][1] = (parseInt(arrres[ arr[i][0] ][1]) + parseInt(arr[i][1]));
}
}
}
}
результат уже лучше:
Код:
array(2) { [ 1] => array(3) { [0] => string(2) " 1" [1] => int(3) [2] => string(4) "1120" } [ 2] => array(3) { [0] => string(2) " 2" [1] => int(2) [2] => string(3) "500" } }
Только вот почему-то он арефметику не хочет выполнять: arrres[ arr[i][0] ][1] = (parseInt(arrres[ arr[i][0] ][1]) + parseInt(arr[i][1]));