Как перебрать массив json средствами jQuery?

Приветствую вас, друзья! Нужна ваша помощь! Есть массив PHP полученный из базы данных и плагин X-editable на jQuery:

$('.options').editable({
        value: [2, 3],
        source: [
            {value: 1, text: 'option1'},
            {value: 2, text: 'option2'},
            {value: 3, text: 'option3'}
        ]
    });


Результат его работы такой:

847ba51982fd4d56b8e22d88f60d85cd.png

Надо передать туда весь массив такого плана:

$m = Array (
    [20] => Array
        (
            [value] => b12
            [text] => Сушить исключительно в тени
        )

    [21] => Array
        (
            [value] => c1
            [text] => Разрешена химчистка
        )

    [22] => Array
        (
            [value] => c2
            [text] => Химчистка запрещена
        )

    [23] => Array
        (
            [value] => c3
            [text] => Разрешено отбеливание
        )
);


Но вот дело в том что в таком виде он не воспринимает его, из-за первого ключа. Для примера, вот что должно получиться:

foreach ($careInfo as $item) {
    $care['value'] = $item['care_key'];
    $care['text'] = $item['care_desc'];
}


$('.options').editable({
        value: [2, 3],
        source: [<?php echo json_encode($care);?>]
    });


И получил естественно только один элемент многомерного массива:

Array
(
    [value] => d6
    [text] => Не отпаривать
)


Следовательно и вышло:

1de14034f07f4b109e29a0c05f868e62.png

Есть ли способ перебрать массив как foreach, только средствами jQuery, чтобы передать туда все элементы?
  • Вопрос задан
  • 3386 просмотров
Решения вопроса 3
SerafimArts
@SerafimArts
Senior Notepad Reader
не знаю как на счёт jquery, но:
for (var key in array) {
  var value = array[key];
  // console.log('key: ', key, 'value: ', value);
}
Ответ написан
В js есть функция .forEach
Ответ написан
maddog670
@maddog670
Как-то так, накидал на коленке
<?php
foreach($care as $k => $v){
$source .= "{value: $v['value'], text: '{$v['text']}'}";
if(!count($k)-1) $source .= ",";
}
?>
source: [<?php echo $source;?>]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы