【问题标题】:Parsing in jQuery Autocomplete在 jQuery 自动完成中解析
【发布时间】:2013-03-12 12:05:15
【问题描述】:

我从 MySQL 查询中生成了一些数据,我想做两件事。数据是名称和 ID 的数组。

首先,我想将名称部分用于 jQuery 自动完成功能,以便您可以在字段中选择名称。 其次,我想在自动完成中触发选择,将所选项目的 ID 放入隐藏字段中。

这是我的 JQuery:

    $("#contact").autocomplete(
                source: function(request, response){
                                $.ajax({
                                         url: "ajax/grabdata.php?",
                                         type: "GET",
                                         data: request,
                                         success: function (data) {
                                             response($.map(data, function (el) {
                                                 return {
                                                     label: el.item.name,
                                                     value: el.item.id
                                                 };
                                             }));
                                         }
                                     });
                            },
                            width: 260,
                            matchContains: true,
                            selectFirst: false,
                            select: function(event, ui){
                                    $('#contact').val(ui.label);
                                    $('#id').val(ui.value);
                            }
                    });

这是我在 PHP (grabdata.php) 中抓取数据的方式:

      $sql = "SELECT DISTINCT contacts.id, contacts.firstname, contacts.lastname FROMcontacts WHERE (firstname LIKE '%$q%' OR lastname LIKE '%$q%')";
      $rsd = mysql_query($sql);
      while($rs = mysql_fetch_array($rsd)) {
      $kdata[] = array(
            "name" => $rs['firstname'].' '.$rs['lastname']."\n",
            "id" => $rs['ID']."\n",
      );
      $dataset[] = $kdata;
      }

我可以获取数据,但无法将其解析为我想要的数据。名称应该可以在自动完成字段中选择,ID 应该根据选择的名称填写。

【问题讨论】:

    标签: php jquery autocomplete


    【解决方案1】:

    据我所知,您没有按应有的方式使用 select 方法参数:

        select: function(event, ui){
            $('#contact').val(ui.item.label);
            $('#id').val(ui.item.value);
        }
    

    您缺少“.item”。查看文档:http://jqueryui.com/autocomplete/#remote

    【讨论】:

    • 我的符号还可以吗?
    • 我不知道 PHP 部分,但自动完成似乎没问题。
    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    相关资源
    最近更新 更多