JQuery自动完成功能无法使用PHP中的数据

时间:2015-02-09 18:09:58

标签: php jquery jquery-ui-autocomplete

我正在使用这个PHP / JQuery代码:

<?php
        $return_arr = array();
        $sql2="SELECT * from contacts where status = 'Contact' and company = '".$_GET["company"]."' ";
        $rs2=mysql_query($sql2,$conn);
        while($result2=mysql_fetch_array($rs2)) {
            $return_arr[] = array('label' => $result2["forename"].' '.$result2["surname"], 'value' => $result2["email"]);
        }
        $data = json_encode($return_arr);
        ?>
          <script type="text/javascript">
        $(document).ready(function(){
            var data = <?php echo $data; ?>;
            $("#contact_name").autocomplete({
                source:data,

            change: function(e, ui) {
                if (ui.item === null) {
                    alert("Contact Does Not Exist.\n\nCheck the box below to add the entered details as a new contact of this company");

                    $("#AddAsContact").css('display', 'block');
                    $("#AddAsContactLabel").css('display', 'block');
                 }
              },
              select: function(e, ui) {
                  e.preventDefault() // <--- Prevent the value from being inserted.
                  $("#contact_email").val(ui.item.value);
                  $(this).val(ui.item.label);

                  $("#AddAsContact").css('display', 'none');
                  $("#AddAsContactLabel").css('display', 'none');
                  $('#AddAsContact').prop('checked', false);
              }
        });
    });
      </script>

但自动完成功能似乎不起作用。我在自动完成列表中没有收到任何结果,但是data变量中有返回的数据

我在这里创造了一个小提琴:http://jsfiddle.net/n492uf07/

更新:

data var目前有这样的数据:

var data = [{"label":"Paul","value":"email@hello.com"},{"label":"Dave","value":"support@domain.com"}];

我也尝试过JQuery网站(http://jqueryui.com/autocomplete/

的代码

http://jsfiddle.net/n492uf07/2/

那也不适合小提琴

1 个答案:

答案 0 :(得分:1)

在提供的jsfiddle中没有包含jQueryUI库。自动完成是jQueryUI库的一部分,因此您必须包含它。