将数据传递到两个字段

时间:2017-08-08 16:42:36

标签: php ajax

您好我正在尝试创建一个自动完成功能,我使用搜索字段并写下公司名称的第一个字母。代码将搜索公司的在线数据库,并会有一个建议列表。例如 company1 street1邮政编码等 company2 astreet2邮政编码等 company3 street1 zipcode等。

我将点击其中一家上市公司,并使用company1 field2 street field3 zipcode等填充field1但我无法做到。我不知道如何做到这一点,我想学习和理解,但这对我来说太复杂,所以我希望你们中的任何人都能帮助我 - 提前谢谢。

这是我的代码到目前为止的样子。 主页:

<!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
}

我的数据库响应将是

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

等等。再次感谢 最好的问候约翰

1 个答案:

答案 0 :(得分:0)

我认为在readkund_eniro.php文件中的API网址存在问题。请你试试如下。

$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>