Ошибка ссылки: массив не определен

#javascript #php #arrays

#javascript #php #массивы

Вопрос:

У меня есть цикл PHP с помощью javascript: первый массив выводится на консоль. Но во втором элементе массива я получаю эту ошибку:

Ошибка ссылки: массив не определен

 <?php foreach($job_requirements_names as $jrn){ ?>
    <div class="col-md-12 form-group">
            <label class="control-label label-top" for="requirement_<?=strtolower($jrn['name'])?>"><?=$jrn['name']?></label>
            <?php
               $query = new QUERY(array('TABLE'=>$table_name, 'KEY'=>array('name'=>$jrn['name']), 'ASC'=>'n_option'));
               $options = $query->fetchAll();
               unset($query);
               $id = "requirement_".strtolower($jrn['name']);
            ?>
            <script>
               // For countries:
               var data = '<?php echo json_encode($options);?>';
               console.log(data);
               data = JSON.parse(data);
               data = data.map(function (v) { return {id: v.id, text: v.n_option}; });

               $("#<?=$id?>").select2({
                  multiple: true,
                  data: data
               }).select2('data', array());
            </script>

            <input id='requirement_<?=strtolower($jrn['name'])?>' name="requirement_<?=strtolower($jrn['name'])?>" class="col-md-12"/>
    </div>
<?php } ?>
  

Как вы можете видеть в javascript array уже определен.

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

1. Используйте [] вместо array() .

2. Итак, у вас есть array() функция в javascript?

3. select2('data', array()) select2('data', []) подразумевалось

4. array() это вызов функции, и у вас нет имени функции array .

Ответ №1:

Вы должны использовать Array() вместо array() (Не существует), поскольку JS является языком, чувствительным к регистру, или просто использовать [] , так что это будет :

 .select2('data', new Array());
//OR
.select2('data', []);
  

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