2017-11-28 2 views
0

私はこれらの2つのファイルを今日書いていますが、まだ動作しません(推奨結果のカーテンが表示されるはずです)。私はほとんどほとんど修正が必要ではないと確信していますが、どの問題を解決することはできません:-( さらに、複数の選択を可能にする方法については絶対に考えていません。候補の単語、その後、私は上の検索およびする別の単語よりも、コンマやスペースなどのトークン/区切りで入力します。 任意のアイデア/提案?ライブ検索アプリを修正して単向から複数選択に変更

<!DOCTYPE html> 
<html> 

<head> 
    <script> 
    function showResult(str) { 
     if (str.length == 0) { 
     document.getElementById("livesearch").innerHTML = ""; 
     document.getElementById("livesearch").style.border = "0px"; 
     return; 
     } 

     if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     var xmlhttp = new XMLHttpRequest(); 
     } else { // code for IE6, IE5 
     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      document.getElementById("livesearch").innerHTML = this.responseText; 
      document.getElementById("livesearch").style.border = "1px solid #A5ACB2"; 
     } 
     } 
     xmlhttp.open("GET", "livesearch.php?q=" + str, true); 
     xmlhttp.send(); 
    } 
    } 
    </script> 
</head> 

<body> 

    <p><b>Start typing a name in the input field below:</b></p> 
    <form> 
    <input type="text" size="30" onkeyup="showResult(this.value)"> 
    <div id="livesearch"></div> 
    </form> 
</body> 

</html> 

<?php 
// Array with names 
$a[] = "Anna"; 
$a[] = "Brittany"; 
$a[] = "Cinderella"; 
$a[] = "Diana"; 
$a[] = "Eva"; 
$a[] = "Fiona"; 
$a[] = "Gunda"; 
$a[] = "Hege"; 
$a[] = "Inga"; 
$a[] = "Johanna"; 
$a[] = "Kitty"; 
$a[] = "Linda"; 
$a[] = "Nina"; 
$a[] = "Ophelia"; 
$a[] = "Petunia"; 
$a[] = "Amanda"; 
$a[] = "Raquel"; 
$a[] = "Cindy"; 
$a[] = "Doris"; 
$a[] = "Eve"; 
$a[] = "Evita"; 
$a[] = "Sunniva"; 
$a[] = "Tove"; 
$a[] = "Unni"; 
$a[] = "Violet"; 
$a[] = "Liza"; 
$a[] = "Elizabeth"; 
$a[] = "Ellen"; 
$a[] = "Wenche"; 
$a[] = "Vicky"; 

// get the q parameter from URL 
$q = $_GET["q"]; 

$hint = ""; 

// lookup all hints from array if $q is different from "" 
if ($q !== "") { 
    $q = strtolower($q); 
    $len=strlen($q); 
    foreach($a as $name) { 
     if (stristr($q, substr($name, 0, $len))) { 
      if ($hint === "") { 
       $hint = $name; 
      } else { 
       $hint .= ", $name"; 
      } 
     } 
    } 
} 

// Output "no suggestion" if no hint was found or output correct values 
echo $hint === "" ? "no suggestion" : $hint; 
?> 
+1

別の回答(https://stackoverflow.com/a/36001640/3650835)からコードをコピー/ペーストする以上のことを行うと、 。何を試しましたか?どのようなコンソール/ PHPエラーが発生しますか?一般的に何が起こるのですか?それを稼働させるためのあなたのアイデアは何ですか? – KayakinKoder

+0

@mplungian - あ、申し訳ありませんが、実際には別の回答から正確にコピーされていません。私はw3school(https://www.w3schools.com/php/php_ajax_livesearch.aspとhttps ://www.w3schools.com/php/php_ajax_php.asp)、可能であればそれらを一緒にメッシュしようとしています - 私も質問する前にgoogle上で(stackoverflow.com/a/36001640/3650835)見つけましたが、私は理解しましたまったく同じ問題ではない –

答えて

0

[OK]をみんな私は解決策を見つけたようですが、実際にはすべての要素をまとめなければなりませんが、理論的にはうまくいくはずです。 私は探しているものを正確に行う関数(ajax.autocompleter())を持つs​​criptoculousというライブラリがあります。詳細はこちらを参照してください。http://www.codicefacile.it/tutorials/tutorials.php/52/Ajax_Autocompleter_nei_nostri_form prototype.jsをライブラリとして使用しているので、jquery.jsを使用する同じページの他のアプリケーションと競合するので、これまで読んできました。しかし、次の回避策で修正する必要があります。https://stackoverflow.com/a/3641464/9016436

関連する問題