北城已荒凉 2019-12-05 10:54 采纳率: 0%
浏览 28

使用json的Ajax自动完成

I have then following structure. I need to perform an autocomplete function retriving data from a json file and then show the results of the item selected in a pop-up.

Below you can see my code.

comuni.php

<?php $arr = array(
array(
    "nomeComune" => "Roma",
    "provincia" => "RM",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Catania",
    "provincia" => "CT",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Milano",
    "provincia" => "MI",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Napoli",
    "provincia" => "NA",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Firenze",
    "provincia" => "FI",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Bologna",
    "provincia" => "BO",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Palermo",
    "provincia" => "PA",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Genova",
    "provincia" => "GE",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Lecce",
    "provincia" => "LE",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
),
array(
    "nomeComune" => "Udine",
    "provincia" => "UD",
    "datasub" => "2019-12-04",
    "datapresub" => "2019-12-04"
));echo json_encode($arr);

htlm

<div class="input-group">
    <input size="45" name="comuni" id="comuni" class="form-control large-input" type="text" placeholder="Inserisci il nome del tuo Comune">
        <span class="input-group-btn">
            <button class="btn btn-primary large-input">Scopri</button>
        </span>
</div>
<div id="results"></div>

jQuery

$( function() {
        $.getJSON("comuni.php", function(data) {
            autoComplete = [];
            for (var i = 0, len = data.length; i < len; i++) {
                autoComplete.push(data[i].nomeComune);
            }
            $( "#comuni" ).autocomplete({
                source: autoComplete,
                minLength: 2,
                delay: 100,
                select: function () {

                },
            });
        });
    });

The Autocomplte function works fine but I'm not able to show in the results all the value of the item selected eg:

"nomeComune" => "Napoli", "provincia" => "NA", "datasub" =>"2019-12-04", "datapresub" => "2019-12-04" 

I've difficult to perform this step. Anyone can help?

Thanks

  • 写回答

1条回答 默认 最新

  • weixin_33711641 2019-12-05 11:10
    关注

    Here you need to get and put your selected value inside select.

    jQuery

    $( function() {
        $.getJSON("comuni.php", function(data) {
            autoComplete = [];
            for (var i = 0, len = data.length; i < len; i++) {
                autoComplete.push(data[i].nomeComune);
            }
            $( "#comuni" ).autocomplete({
                source: autoComplete,
                minLength: 2,
                delay: 100,
                select: function (e, ui) {
                    $('#results').html(ui.item.value);
                },
            });
        });
    });
    
    评论

报告相同问题?

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序