Javascript自动完成脚本变量

时间:2016-07-25 13:38:45

标签: javascript jquery autocomplete

我正在使用以下脚本自动填充数据:

<script>
    $(function() {
      var availableTags = [
        "Asp", "BASIC", "C", "C++",
        "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran",
        "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl",
        "PHP", "Python", "Ruby", "Scala", "Scheme"
      ];

      $(".autocomplete").autocomplete({
        source: availableTags
      });
    });
</script>

我需要使用数组而不是分配给availableTags变量的手动条目

我尝试过像以下一样但不起作用:

<script>
    $(function() {
      var availableTags = $result;

      $(".autocomplete").autocomplete({
        source: availableTags
      });
    });
</script>

谢谢

1 个答案:

答案 0 :(得分:0)

你不能在javascript上使用php变量(带数组)。 注意:php-array!= js-array

根据您的文件结构,您有两种可能性:

1.javascript包含在你的php文件中

<?php 
    $result = array('foo' => 'bar');
?>
<script>
    var availableTags = <?php echo json_encode($result); ?>;
</script>

2.将javascript分隔在另一个文件中(你必须在这里使用ajax来检索php变量的值):

<强> PHP

<?php 
    $result = array('foo' => 'bar');
    echo json_encode($result);
?>

<强> JS

<script>
     var availableTags;
     $.ajax({
         url: 'url/to/php/file.php',
         dataType: 'json',
         success: function(data) {
             availableTags= $.parseJSON(data);
         }
     });
</script>