31.12.2015, 19:08
|
Аспирант
|
|
Регистрация: 10.12.2015
Сообщений: 47
|
|
json в цикле
Ребят, я нуб! Подскажите нубу, почему не работает!
function send() {
var ARTKL01 = '1';
var ARTKL02 = '';
var ARTKL03 = '';
var ARTKL04 = '';
var ARTKL05 = '';
var JSON = {
"pole1": textfield1,
"pole2": textfield2,
"pole3": textfield3,
"pole4": textfield4,
"pole5": textfield5,
"pole6": textfield6,
"pole7": textfield7,
"pole8": textfield8,
"zakaz": [
{
"artikul":ARTKL01,
"kolichestvo":kolichestvo01,
},
{
"artikul":ARTKL02,
"kolichestvo":kolichestvo02,
},
{
"artikul":ARTKL03,
"kolichestvo":kolichestvo03,
},
{
"artikul":ARTKL04,
"kolichestvo":kolichestvo04,
},
{
"artikul":ARTKL05,
"kolichestvo":kolichestvo05
}
]
}
for (i in JSON.zakaz) {
if (JSON.zakaz[i].artikul != '') {
output+="<li>" + JSON.zakaz[i].artikul + "" + JSON.zakaz[i].kolichestvo + "</li>";
alert (output);
}
}
Последний раз редактировалось K_PECT, 31.12.2015 в 19:13.
|
|
31.12.2015, 19:18
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
Сообщение от K_PECT
|
textfield1
|
это что? если строка поставьте кавычки
Последний раз редактировалось рони, 31.12.2015 в 19:21.
|
|
31.12.2015, 19:21
|
Аспирант
|
|
Регистрация: 10.12.2015
Сообщений: 47
|
|
Это inputы:
textfield1 = document.getElementById('textfield1').value;
textfield2 = document.getElementById('textfield2').value;
textfield3 = document.getElementById('textfield3').value;
textfield4 = document.getElementById('textfield4').value;
textfield5 = document.getElementById('textfield5').value;
textfield6 = document.getElementById('textfield6').value;
textfield7 = document.getElementById('textfield7').value;
textfield8 = document.getElementById('textfield8').value;
|
|
31.12.2015, 19:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
K_PECT,
тогда это нужно добавить в скрипт
|
|
31.12.2015, 19:36
|
Аспирант
|
|
Регистрация: 10.12.2015
Сообщений: 47
|
|
|
|
31.12.2015, 19:48
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
K_PECT,
function send() {
var ARTKL01 = '1';
var ARTKL02 = '';
var ARTKL03 = '';
var ARTKL04 = '';
var ARTKL05 = '';
var kolichestvo01 = '1';
var kolichestvo02 = '';
var kolichestvo03 = '';
var kolichestvo04 = '';
var kolichestvo05 = '';
var textfield1 = '1';
var textfield2 = '';
var textfield3 = '';
var textfield4 = '';
var textfield5 = '';
var JSON = {
"pole1": textfield1,
"pole2": textfield2,
"pole3": textfield3,
"pole4": textfield4,
"pole5": textfield5,
"zakaz": [
{
"artikul":ARTKL01,
"kolichestvo":kolichestvo01,
},
{
"artikul":ARTKL02,
"kolichestvo":kolichestvo02,
},
{
"artikul":ARTKL03,
"kolichestvo":kolichestvo03,
},
{
"artikul":ARTKL04,
"kolichestvo":kolichestvo04,
},
{
"artikul":ARTKL05,
"kolichestvo":kolichestvo05
}
]
}
var output = '';
for (i in JSON.zakaz) {
if (JSON.zakaz[i].artikul != '') {
output+="<li>" + JSON.zakaz[i].artikul + "" + JSON.zakaz[i].kolichestvo + "</li>";
alert (output);
}
}}
send()
|
|
31.12.2015, 19:59
|
Аспирант
|
|
Регистрация: 10.12.2015
Сообщений: 47
|
|
рони, спасибо вам! Выручили! С новым годом! Всего вам!
|
|
01.01.2016, 15:10
|
Аспирант
|
|
Регистрация: 10.12.2015
Сообщений: 47
|
|
Подскажите, пожалуйста, как после этого цикла создать строку JSON.stringify(JSON);
Задача исключить пустые переменные.
|
|
02.01.2016, 12:09
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
K_PECT,
придумывайте переменным оригинальные имена ... да и в целом алгоритм стоит ещё раз продумать ...
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<script>
function send() {
var ARTKL01 = '1';
var ARTKL02 = '';
var ARTKL03 = '';
var ARTKL04 = '';
var ARTKL05 = '';
var kolichestvo01 = '1';
var kolichestvo02 = '';
var kolichestvo03 = '';
var kolichestvo04 = '';
var kolichestvo05 = '';
var textfield1 = '1';
var textfield2 = '';
var textfield3 = '';
var textfield4 = '';
var textfield5 = '';
var data = {
"pole1": textfield1,
"pole2": textfield2,
"pole3": textfield3,
"pole4": textfield4,
"pole5": textfield5,
"zakaz": [
{
"artikul":ARTKL01,
"kolichestvo":kolichestvo01,
},
{
"artikul":ARTKL02,
"kolichestvo":kolichestvo02,
},
{
"artikul":ARTKL03,
"kolichestvo":kolichestvo03,
},
{
"artikul":ARTKL04,
"kolichestvo":kolichestvo04,
},
{
"artikul":ARTKL05,
"kolichestvo":kolichestvo05
}
]
}
var output = '';
for (i in data.zakaz) {
if (data.zakaz[i].artikul != '') {
output+="<li>" + data.zakaz[i].artikul + "" + data.zakaz[i].kolichestvo + "</li>";
alert (output);
}
}
var obj = {};
Object.keys(data).forEach(function (key) {
if(key == 'zakaz'){
var arr = data[key].filter(function(el) {
return el.artikul && el.kolichestvo
});
if(arr.length) obj[key] = arr
}
else {
data[key] && (obj[key] = data[key])
}
});
alert(JSON.stringify(obj))
}
send()
</script>
</body>
</html>
|
|
02.01.2016, 12:39
|
Аспирант
|
|
Регистрация: 10.12.2015
Сообщений: 47
|
|
рони,
var obj = {};
Object.keys(data).forEach(function (key) {
if(key == 'zakaz'){
var arr = data[key].filter(function(el) {
return el.artikul && el.kolichestvo
});
if(arr.length) obj[key] = arr
}
else {
data[key] && (obj[key] = data[key])
}
});
Сам бы такое никогда не написал))
Спасибо вам огромнейшее! Вы очень помогаете!
|
|
|
|