jQuery自动完成不使用数组数据源

时间:2013-09-02 12:29:41

标签: javascript jquery autocomplete

我创建了一个jQuery自动完成程序,它可以运行由PHP脚本生成的数组:

var tags = [{"id":"77","label":"110826"},
            {"id":"76","label":"110667"},
            {"id":"74","label":"110808"}];

然而,自动完成框不起作用 - 我输入数组中的值但没有发生任何事情,我无法弄清楚原因。

请在这里看到我的小提琴; http://jsfiddle.net/j4yB3/

任何帮助将不胜感激,谢谢!

3 个答案:

答案 0 :(得分:1)

您尚未关闭<label>标记(不是真的重要),但您的小提琴没有jQueryUI和jQuery引用。

尝试THIS

答案 1 :(得分:0)

我更新了解决方案的小提琴代码。确保添加了jquery js和jquery ui js

答案 2 :(得分:0)

<script>
  $(function() {
    var projects = [
      {
        value: "jquery",
        label: "jQuery",
        desc: "the write less, do more, JavaScript library",
        icon: "jquery_32x32.png"
      },
      {
        value: "jquery-ui",
        label: "jQuery UI",
        desc: "the official user interface library for jQuery",
        icon: "jqueryui_32x32.png"
      },
      {
        value: "sizzlejs",
        label: "Sizzle JS",
        desc: "a pure-JavaScript CSS selector engine",
        icon: "sizzlejs_32x32.png"
      }
    ];

    $( "#project" ).autocomplete({
      minLength: 0,
      source: projects,
      focus: function( event, ui ) {
        $( "#project" ).val( ui.item.label );
        return false;
      },
      select: function( event, ui ) {
        $( "#project" ).val( ui.item.label );
        $( "#project-id" ).val( ui.item.value );
        $( "#project-description" ).html( ui.item.desc );
        $( "#project-icon" ).attr( "src", "images/" + ui.item.icon );

        return false;
      }
    })
    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" )
        .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
        .appendTo( ul );
    };
  });
  </script>