Обработка json в jquery
Здравствуйте. Нужно сделать взаимные селекты.
В итоге, после выполнения ajax запроса постом к php скрипту, возвращаю (print(json_encode()) ) json массив. Выглядет он примерно так: [{"id":1,"title":"Легковая"},{"id":2,"title":"Грузовая"}] Нужно обработать массив и запихнуть в dom шаблона. Гуглил, нащёл пример обработки json циклом each, но толком ничего не получилось в итоге сделать. Буду благодарен за помощь, спасибо |
Вы хотите получить готовый скрипт, это в раздел работа, а если хотите просто хотите помощи, тогда пишите что именно у вас не выходит и возможно кто-нибудь что-нибудь подскажет.
|
И Skipp, мне не нужен готовый скрипт!
У меня вопрос. Вот есть такая конструкция из сайта jquery.com: $.getJSON("test.js", { name: "John", time: "2pm" }, function(json){ alert("JSON Data: " + json.users[3].name); }); Мне непонятно , что собой представляет users[3] , откуда появился этот массив с индексом и массив ли это вообще ? |
Цитата:
Установи fitebug в лисе, вот тут добавь: function(json){ console.log(json); // <---- и увидишь, что приходит и в каком формате. |
vitja,
Так бы сразу и писал, что тебе непонятно. Глянь на первую строку Цитата:
$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){ alert("JSON Data: " + json.users[3].name); }); В данном случаи после ответа сервера вызывается функция function(json), в которую передаётся аргумент(json) хранящий в себе ответ сервера преобразованный в json тип(объект), а далее вызывается алерт в который передаётся объект json со свойством users который тоже является объектом(возможно Array) у которого выбирается ещё один объект с индексом 3 у которого есть свойство name. :) |
Skipp , micscr благодарю, буду пробывать, если будут вопросы отпишусь
|
Skipp, пожалуй возвращусь к сути вопроса:
Цитата:
Цитата:
$(result).each(function(i) { alert(i.title); }); Выдаёт undefined. Как правильно этот массив разобрать? |
можно побольше кода, а то так не понятно что такое result и что такое i
|
Skipp, примерно вот так получается ..
$("select[name=kind[]]").change(function() { var kind_id = $(this).val(); url = "/admin/add"; $.post( url, "kind=" + kind_id, function (result) { // $('body').html(result); // возвращает [{"id":1,"title":"Легковое"}, {"id":2,"title":"Грузовое"}] $(result).each(function() { alert($(result).id); }); } ),"json"; }); PHP if($_POST) { $types = $this -> prop_type($_POST['kind']); $regions = array(); foreach ($types as $id => $title) { $regions[] = array('id'=>$id, 'title'=>$title); } print(json_encode($regions)); // [{"id":1,"title":"Легковое"}, {"id":2,"title":"Грузовое"}] } |
А такая конструкция что выдаст?
$("select[name=kind[]]").change(function() { var kind_id = $(this).val(); url = "/admin/add"; $.post( url, "kind=" + kind_id, function (result) { alert(typeof result); } ),"json"; }); |
Часовой пояс GMT +3, время: 07:27. |