ReferenceError:数组没有定义


ReferenceError: array is not defined

我用javascript在PHP中有循环:第一个数组在控制台输出上打印。但是,在数组的第二个元素中,我得到这个错误:

ReferenceError: array is not defined

<?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()而不是array()(不存在),因为JS是一种大小写敏感的语言,或者简单地使用[],所以它将是:

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