17.03.2014, 13:37
|
Новичок на форуме
|
|
Регистрация: 17.03.2014
Сообщений: 5
|
|
Доступ к элементам объекта
Все привет. Я только изучаю js, сильно прошу не пинать.
Имеется объект такого вида:
{ "results":
{ "fields": [ "Name", "Shirota", "Dolgota", "Contacts" ],
"rows": [ { "Name": "Bamberg", "Shirota": "48.725925", "Dolgota": "44.541419", "Contacts": "17" },
{ "Name": "Kalash", "Shirota": "48.725935", "Dolgota": "44.541419", "Contacts": "17" } ] },
"errors": { "length": 0 } }
Мне нужно выдернуть значения. Как правильно это сделать?
Пробовал такой код:
Код:
|
jQuery.each(obj, function(i, val) {
$("#" + i).append(document.createTextNode(" - " + val));
}); |
Но он возвращает Object
|
|
17.03.2014, 14:13
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от DeSharky
|
Имеется объект такого вида:
Сообщение от DeSharky
|
Как правильно это сделать?
|
|
Так понятно?
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var obj={
"results": {
"fields": [ "Name", "Shirota", "Dolgota", "Contacts" ],
"rows": [
{ "Name": "Bamberg", "Shirota": "48.725925", "Dolgota": "44.541419", "Contacts": "17" },
{ "Name": "Kalash", "Shirota": "48.725935", "Dolgota": "44.541419", "Contacts": "17" }
]
},
"errors": { "length": 0 }
}
jQuery.each(obj, function(i, val) {
alert(i);
});
</script>
</head>
<body>
</body>
</html>
|
|
17.03.2014, 14:35
|
Новичок на форуме
|
|
Регистрация: 17.03.2014
Сообщений: 5
|
|
Как работает то понятно, только результат не тот, что нужен - возвращает
results и errors,а мне нужны "внутренности"
|
|
17.03.2014, 14:39
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от DeSharky
|
возвращает
results и errors
|
так ты по ним и бежишь...
Сообщение от DeSharky
|
а мне нужны "внутренности"
|
Тгда просто бери их и все дела.
|
|
17.03.2014, 14:45
|
Новичок на форуме
|
|
Регистрация: 17.03.2014
Сообщений: 5
|
|
Код:
|
jQuery.each(results.results.fields, function(i, val) {
alert(i);
}); |
попробовал так - не работает, выдает по очереди от 0 до 3
|
|
17.03.2014, 15:08
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от DeSharky
|
попробовал так - не работает
|
Во тебя прет!
var obj={
"results": {
"fields": [ "Name", "Shirota", "Dolgota", "Contacts" ],
"rows": [
{ "Name": "Bamberg", "Shirota": "48.725925", "Dolgota": "44.541419", "Contacts": "17" },
{ "Name": "Kalash", "Shirota": "48.725935", "Dolgota": "44.541419", "Contacts": "17" }
]
},
"errors": { "length": 0 }
}
for (var i=0; i<obj.results.fields.length; i++) {
alert(obj.results.fields[i]);
};
|
|
17.03.2014, 15:14
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от DeSharky
|
а мне нужны "внутренности"
|
Как вариант
var obj={
"results": {
"fields": [ "Name", "Shirota", "Dolgota", "Contacts" ],
"rows": [
{ "Name": "Bamberg", "Shirota": "48.725925", "Dolgota": "44.541419", "Contacts": "17" },
{ "Name": "Kalash", "Shirota": "48.725935", "Dolgota": "44.541419", "Contacts": "17" }
]
},
"errors": { "length": 0 }
}
for (var j=0; j<obj.results.rows.length; j++) {
for (var i=0; i<obj.results.fields.length; i++) {
var fld=obj.results.fields[i];
alert(fld+'['+j+']='+obj.results.rows[j][fld]);
};
};
|
|
17.03.2014, 15:24
|
Новичок на форуме
|
|
Регистрация: 17.03.2014
Сообщений: 5
|
|
О, вот это огонь, то что нужно. Спасибо!
|
|
|
|