2017-08-08 82 views
0

嗨我試圖做一個自動完成功能,我使用一個搜索字段並寫入公司名稱的第一個字母。代碼將會搜索公司的在線數據庫,並且會有一系列建議。例如 公司1 street1郵政編碼等 Company2的astreet2郵政編碼等 公司3 street1郵政編碼等將數據傳遞到兩個字段

我會點擊的上市公司之一,它與VILL FIELD2公司1街填充字段1場3郵政編碼等,但我不能讓它。我不知道如何做到這一點,我試圖學習和理解,但這對我來說太複雜了,所以我希望你們中的任何一個人都可以讓我高興 - 在此先感謝。

這就是我的代碼到目前爲止的樣子。 主頁:

<!doctype html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <title></title> 
     <link href="layout.css" rel="stylesheet" type="text/css"> 
     <link href="menu.css" rel="stylesheet" type="text/css"> 
    </head> 
    <style> 
     .kundsok { 
      border: 1px solid #a8d4b1; 
      background-color: #c6f7d0; 
      margin: 2px 0px; 
      padding: 40px; 
      border-radius: 4px; 
     } 
     #ftg-list { 
      float: center; 
      list-style: none; 
      margin- top: -3px; 
      padding: 0; 
      width: 190px; 
     } 
     #ftg-list li { 
      padding: 10px; 
      background: #f0f0f0; 
      border-bottom: #bbb9b9 1px solid; 
     } 
     #ftg-list li:hover { 
      background: #ece3d2; 
      cursor: pointer; 
     } 
     #search-box { 
      padding: 10px; 
      border: #a8d4b1 1px solid; 
      border-radius: 4px; 
     } 
    </style> 
    <script src="jquery-3.2.1.min.js" type="text/javascript"></script> 
    <script> 
     $(document).ready(function() { 
      $("#search-box").keyup(function() { 
       $.ajax({ 
        type: "POST", 
        url: "readkund_eniro.php", 
        data: 'keyword=' + $(this).val(), 
        beforeSend: function() { 
         $("#search-box").css("background", "#FFF url(LoaderIcon.gif) no-repeat 165 px "); 
        }, 
        success: function(data) { 
         $("#suggesstion-box").show(); 
         $("#suggesstion-box").html(data); 
         $("#search-box").css("background", "#FFF"); 
        } 
       }); 
      }); 
     }); 
     function selkund(val, val2) { 
      $("#search-box").val(val); 
      $("#foretag_name").val(val); 
      $("#stad").val(val2); 
      $("#suggesstion-box").hide(); 
     } 
    </script> 
    <body> 
     <div id="sidlayout"> 
     <div id="content"> 
     <?php include "menukunder.php"; ?> 
     <div class="kundsok"> 
      <center> 
      <input type="text" id="search-box" name ="search-box" placeholder="kund" > 
      <div id="suggesstion-box"></div> 
      </form> 
      <h1></h1> 
      <H3></H3> 
      <center> 
      <form action="sida3ka.php" method="post"> 
       <fieldset> 
        <label title="Skriv in företagets namn" for="foretag_name">Företag:</label> 
        <input type="text" name="foretag_name" id="foretag_name"> 
        <label title="Skriv in stad" for="stad">Stad:</label> 
        <input type="text" name="stad" id="stad">  
       </fieldset> 
      </form> 
     </div> 
     </div> 
    </body> 
</html> 

稱爲readkund_eniro.php代碼中的其他頁面上看起來是這樣的

$url = 'https://api.eniro.com/cs/search/basic?profile=Martens&key=3653823918839001013&country=se&version=1.1.3&search_word 
    =' . $_POST["keyword"] . '&geo_area=stockholm'; 
$response = file_get_contents($url); 
$json = json_decode($response, true); 
if(!empty($json)) { 
    ?> 
     <ul id="ftg-list"> 
    <?php 
     foreach($json['adverts'] as $ftg) { 
    ?> 
      <li onClick="selkund('<?php 
       echo $ftg["companyInfo"]['companyName']; 
       echo $ftg["address"]['streetName']; 
     ?>');"><?php 
        echo $ftg["companyInfo"]['companyName']; 
     ?> 
      </li> 
     <?php 
     } 
    ?> 
     </ul> 
    <?php 
} 

我的數據庫respons將

$ftg["companyInfo"]['companyName'] 
$ftg["address"]['streetName'] 
$ftg["address"]['postCode'] 

等。再次感謝 最好的問候約翰

+0

一些明智的代碼縮進將是一個不錯的主意。 它可以幫助我們閱讀代碼,更重要的是它可以幫助您調試代碼**。 [快速瀏覽編碼標準](http://www.php-fig.org/psr/psr-2/)爲您帶來的好處。 您可能會被要求在幾周/幾個月內修改此代碼,最後您會感謝我。 – GrumpyCrouton

+0

我只是測試如何做到這一點。它的代碼不打算用於我的產品我將工作的工作。無論如何,先生謝謝你的建議。 –

+0

謝謝@GrumpyCrouton –

回答

0

我認爲在readkund_eniro.php文件AP​​I網址存在問題。你可以請嘗試以下。

$url = "https://api.eniro.com/cs/search/basic?profile=Martens&key=3653823918839001013&country=se&version=1.1.3&search_word=".$_POST['keyword']."&geo_area=stockholm"; 

另一件事,我發現你的迴應文本中

<li onClick="selkund('<?php echo $ftg["companyInfo"]['companyName'];?>', '<?php echo $ftg["address"]['streetName'];?>');"><?php 
       echo $ftg["companyInfo"]['companyName']. ', '. $ftg["address"]['streetName'].', '. $ftg["address"]['postCode'] ; 
    ?> 
     </li> 
+0

沒有@poorivi它沒有更好的工作。這是否意味着它看起來正確whaat我洞對你? –

+0

是的。我認爲它應該與一些改變 –

+1

感謝隊友的責任使它工作完美!非常感謝!! @Poorvi Gandhi –