2016-10-14 2 views
1

Ich habe Schleife in PHP mit Javascript: Erste Array wird auf der Konsole ausgegeben. Aber im zweiten Element des Arrays Ich erhalte diese Fehlermeldung:ReferenceError: Array ist nicht definiert

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 } ?> 

Wie Sie in javascript Array zu sehen ist bereits definiert.

+4

Verwenden Sie '[]' anstelle von 'array()'. –

+0

Also haben Sie eine 'array()' Funktion in Javascript? – adeneo

+0

'select2 ('data', array())' to 'select2 ('data', [])' war gemeint – JustOnUnderMillions

Antwort

3

Sie sollten Array() verwenden, anstatt array() (nicht vorhanden), da JS ist eine Groß- und Kleinschreibung Sprache oder einfach [] verwenden, so wird es sein:

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

Hoffnung, das hilft.

Verwandte Themen