ReferenceError:未定义数组

时间:2016-10-14 16:03:17

标签: javascript php arrays

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

  

ReferenceError:未定义数组

<?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数组中所看到的那样,已经定义了数组。

1 个答案:

答案 0 :(得分:3)

您应该使用Array()而不是array()(不存在),因为JS是区分大小写的语言,或者只是使用[],所以它将是:

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

希望这有帮助。