2011-06-05 2 views
3

Я искал решение для того, что кажется простой проблемой, но я не могу найти решение ... любые рекомендации будут оценены.Задать список выбора из JSON

Я пытаюсь создать поле выбора с использованием объекта JSON, полученного из PHP-скрипта. PHP-скрипт (version.php) выполняет запрос к таблице базы данных; код выглядит следующим образом:

$posts = array(); 
if(mssql_num_rows($result)) { 
    while($post = mssql_fetch_assoc($result)) { 
    $posts[] = $post; 
    } 
} 
header('Content-type: application/json'); 
echo json_encode($posts); 

... и возвращает следующую структуру JSon:

[{ "версия": "3.3.0"}, { "версия": "1.5.0"} ]

файл PHP вызывается из центрального файла JS, который структурирован следующим образом:

jQuery(function($){ 
    $.getJSON('versions.php', function(data) { 
     var select = $('#release-list'); 
     $.each(data, function(key, val){ 
      var option = $('<option/>'); 
      option.attr('value', val) 
        .html(data) 
        .appendTo(select); 
     }); 
    }); 
}); 

Глядя на поджигатель, я вижу списки объектов, но не значения в массиве. Я думаю, это связано с кодом в файле javascript выше - просто не уверен, как получить доступ к значениям из объекта json.

Заранее спасибо.

ответ

4

Вы почти у цели. Основываясь на вашей структуре JSON, он должен выглядеть примерно так:

jQuery(function($){ 
    $.getJSON('versions.php', function(data) { 
     var select = $('#release-list'); 
     $.each(data, function(key, val){ 
      $('<option/>').attr('value', val.version) 
        .html('version ' + val.version) 
        .appendTo(select); 
     }); 
    }); 
}); 
+0

Спасибо большое Стивен - отлично работает! – user778444

Смежные вопросы