| 
 Обработка массива, ajax Здравствуйте! С помощью .ajax получаю php массив, не подскажете как его обработать? Нужно в цикле посмотрить option'ы Вот такой массив: Array ( [result] => Array ( [173] => Санкт-Петербург [174] => Александровская [175] => Бокситогорск [176] )) Вот так получаю: 
$('.setCity').change(function()
{
   
   var shop_location_id = $(this).val();
   $.ajax({
          type: "GET",
          url: "/address/",
          data: "action=city&shop_location_id="+ shop_location_id,
          success: function(res){
          var options = '';
         // вот здесь нужно в цикле построить option'ы
         // пример: <option value = "173">Санкт-Петербург</option>
          }
        });
});
Подскажите пожалуйста. Спасибо | 
| 
 а на кой вы на клиент php массив передаёте,  javascript не умеет работать с php массивами.  преобразуйте ваш массив в формат json и передайте его на клиент именно в этом формате. собственно нужна то одна строчка на стороне сервера. echo json_encode ( $myArray ); ================================= На клиенте распарсить данные можно var dat=jQuery.parseJSON(res). а потом работайте с dat как с массивом. | 
| 
 Цитата: 
 Данные теперь такие: 
{"558":"\u0411\u0430\u0431\u0430\u0435\u0432\u043e","559":"\u0411\u0435\u043b\u043e\u0437\u0435\u0440\u0441\u043a","560":"\u0412\u0435\u043b\u0438\u043a\u0438\u0439 \u0423\u0441\u0442\u044e\u0433","561":"\u0412\u0435\u0440\u0445\u043e\u0432\u0430\u0436\u044c\u0435","562":"\u0412\u043e\u0436\u0435\u0433\u0430","563":"\u0412\u043e\u043b\u043e\u0433\u0434\u0430","564":"\u0412\u043e\u0445\u0442\u043e\u0433\u0430","565":"\u0412\u044b\u0442\u0435\u0433\u0440\u0430","566":"\u0413\u0440\u044f\u0437\u043e\u0432\u0435\u0446","567":"\u041a\u0430\u0434\u043d\u0438\u043a\u043e\u0432","568":"\u041a\u0430\u0434\u0443\u0439","569":"\u041a\u0438\u0447\u043c\u0435\u043d\u0433\u0441\u043a\u0438\u0439 \u0413\u043e\u0440\u043e\u0434\u043e\u043a","570":"\u041b\u0438\u043f\u0438\u043d \u0411\u043e\u0440","571":"\u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a","572":"\u041d\u044e\u043a\u0441\u0435\u043d\u0438\u0446\u0430","573":"\u0421\u043e\u043a\u043e\u043b","574":"\u0421\u044f\u043c\u0436\u0430","575":"\u0422\u0430\u0440\u043d\u043e\u0433\u0441\u043a\u0438\u0439 \u0413\u043e\u0440\u043e\u0434\u043e\u043a","576":"\u0422\u043e\u0442\u044c\u043c\u0430","577":"\u0423\u0441\u0442\u044e\u0436\u043d\u0430","578":"\u0425\u0430\u0440\u043e\u0432\u0441\u043a","579":"\u0427\u0430\u0433\u043e\u0434\u0430","580":"\u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446","581":"\u0428\u0435\u043a\u0441\u043d\u0430","582":"\u0428\u0443\u0439\u0441\u043a\u043e\u0435"}
$('.setCity').change(function()
{
   
   var shop_location_id = $(this).val();
   $.ajax({
          type: "GET",
          url: "/address/",
          data: "action=city&shop_location_id="+ shop_location_id,
          success: function(res){
          var options = '';
         // вот здесь нужно в цикле построить option'ы
         // пример: <option value = "173">Санкт-Петербург</option>
          }
        });
});
 | 
| 
 
$('.setCity').change(function()
{
   
   var shop_location_id = $(this).val();
   $.ajax({
          type: "GET",
          url: "/address/",
          data: "action=city&shop_location_id="+ shop_location_id,
          dataType : 'json',
          success: function(res){
          var options = [];
          for ( var value in res ) {
              if ( res.hasOwnProperty( value ) ) {
                    options.push( 'value="' + value + '">' + res[ value ] );
              }
          }
          alert('<option ' + options.join('</option><option ') + '</option>';)
         // вот здесь нужно в цикле построить option'ы
         // пример: <option value = "173">Санкт-Петербург</option>
          }
        });
});
 | 
| 
 namez, Вариант ... 
<!DOCTYPE >
<html>
<head>
  <title></title>
</head>
<body>
<select name="lang1" ></select>
<script type="text/javascript">
 var res = {
    "558": "\u0411\u0430\u0431\u0430\u0435\u0432\u043e",
    "559": "\u0411\u0435\u043b\u043e\u0437\u0435\u0440\u0441\u043a",
    "560": "\u0412\u0435\u043b\u0438\u043a\u0438\u0439 \u0423\u0441\u0442\u044e\u0433",
    "561": "\u0412\u0435\u0440\u0445\u043e\u0432\u0430\u0436\u044c\u0435",
    "562": "\u0412\u043e\u0436\u0435\u0433\u0430",
    "563": "\u0412\u043e\u043b\u043e\u0433\u0434\u0430",
    "564": "\u0412\u043e\u0445\u0442\u043e\u0433\u0430",
    "565": "\u0412\u044b\u0442\u0435\u0433\u0440\u0430",
    "566": "\u0413\u0440\u044f\u0437\u043e\u0432\u0435\u0446",
    "567": "\u041a\u0430\u0434\u043d\u0438\u043a\u043e\u0432",
    "568": "\u041a\u0430\u0434\u0443\u0439",
    "569": "\u041a\u0438\u0447\u043c\u0435\u043d\u0433\u0441\u043a\u0438\u0439 \u0413\u043e\u0440\u043e\u0434\u043e\u043a",
    "570": "\u041b\u0438\u043f\u0438\u043d \u0411\u043e\u0440",
    "571": "\u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a",
    "572": "\u041d\u044e\u043a\u0441\u0435\u043d\u0438\u0446\u0430",
    "573": "\u0421\u043e\u043a\u043e\u043b",
    "574": "\u0421\u044f\u043c\u0436\u0430",
    "575": "\u0422\u0430\u0440\u043d\u043e\u0433\u0441\u043a\u0438\u0439 \u0413\u043e\u0440\u043e\u0434\u043e\u043a",
    "576": "\u0422\u043e\u0442\u044c\u043c\u0430",
    "577": "\u0423\u0441\u0442\u044e\u0436\u043d\u0430",
    "578": "\u0425\u0430\u0440\u043e\u0432\u0441\u043a",
    "579": "\u0427\u0430\u0433\u043e\u0434\u0430",
    "580": "\u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446",
    "581": "\u0428\u0435\u043a\u0441\u043d\u0430",
    "582": "\u0428\u0443\u0439\u0441\u043a\u043e\u0435"
};
var a = document.getElementsByName("lang1")[0]
for (var c in res) a.options[a.options.length] = new Option(res[c],c );
</script>
</body>
</html>
 | 
| 
 красиво =) | 
| 
 рони спасибо. А я обработал так, не знаю какой метод лучше, показался более по-jquery'вски 
success: function(res){
          var options = '';
          $.each(res, function(key, val){
          options += '<option value="' + key + '">' + val + '</option>';
          });
          $("select").html(options);
          }
 | 
| 
 Друзья подскажите. У меня в массиве новый параметр. city (в конце) 
{"result":{"210":"\u041f\u0443\u0448\u043a\u0438\u043d","211":"\u0421\u0435\u0441\u0442\u0440\u043e\u0440\u0435\u0446\u043a","212":"\u0421\u043b\u0430\u043d\u0446\u044b","213":"\u0421\u043e\u0441\u043d\u043e\u0432\u044b\u0439 \u0411\u043e\u0440","214":"\u0422\u0438\u0445\u0432\u0438\u043d","215":"\u0422\u043e\u0441\u043d\u043e","216":"\u0428\u043b\u0438\u0441\u0441\u0435\u043b\u044c\u0431\u0443\u0440\u0433"},"city":"\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433"}
Сейчас я обрабатываю {result} так: 
success: function (res)
        {
          var selected = res.city;
          $.each(res.result, function (key, val)
          {
            // здесь нужно сделать условие, если val = selected то <option selected=selected>
            options += '<option value="' + key + '">' + val + '</option>';
          });
        }
А как сделать так чтобы при проверке если val = selected то такой option будет иметь атрибут selected=selected ? | 
| 
 ну добавь ?: options += '<option value="' + key + '" '+((val == selected)?'selected=selected':'')+'>' + val + '</option>'; | 
| 
 Цитата: 
 | 
| Часовой пояс GMT +3, время: 19:38. |