синтаксический анализ массива javasctipt / jquery

#javascript #jquery

#javascript #jquery

Вопрос:

Я искал шаблон списка выбора в javascript и наткнулся на этот код.

JsFiddle для списка выбора

Который имеет следующий код для анализа через a из того, что я предполагаю, массив объектов Jquery.

 <script>

     var val = {
        01: {id: 01, text: 'test2'},
        02: {id: 02, text: 'test3'},
        03: {id: 03, text: 'test2'},
     };

     var pick = $("#pickList").pickList({data: val});

     $("#getSelected").click(function () {
        console.log(pick.getValues(val));
        alert(pick.getValues());
     });
     </script>
  

Где #PickList — это функция, которая заполняет данные в форме.

Теперь, когда я запускаю это с помощью кнопки «#getSelected», я вижу в настройках разработчика Chrome, что он извлекает данные из формы, но в какой-то паре ключ-значение.

Теперь, когда я пытаюсь alert(pick.getValues());

Я получаю предупреждение, [object Object] а не значение внутри массива.

Может кто-нибудь помочь мне узнать, как проанализировать массив, чтобы я мог получить значение «текст»

Ниже приведен скриншот консоли разработчика Chrome. Скриншот параметров разработчика Chrome

Комментарии:

1. Вместо alert(pick.getValues()); того, чтобы использовать console.log(pick.getValues()); и просматривать вывод консоли в вашей консоли разработчика.

2. Консоль @DavidR. на самом деле журнал работает, как мне отправить его на сервер? Я подумал, смогу ли я заставить его оповещать, тогда я смогу переместить значение в переменную, а затем отправить его на сервер.

3. Тогда попробуйте это alert(JSON.stringify(pick.getValues()))

4. @DavidR Вау, это работает. Можете ли вы опубликовать это как ответ, чтобы я мог пометить его как решаемый? Большое вам спасибо

5. Готово, приятель!. Спасибо!

Ответ №1:

Вам нужно использовать JSON.stringify внутри вашего alert оператора следующим образом,

 alert(JSON.stringify(pick.getValues()));
  

Надеюсь, это поможет!