0

ソーシャル Web サイトを作成していsearch.phpます。データベースに保存されている会場を検索するためのテキスト ボックスがあります。ユーザーが会場の名前を入力し始めると、データベースに保存されている会場名のリストが div に読み込まれますvenuesearch。これは正常に動作します。私の問題はvenuesearch、ユーザーが特定の行をクリックしたときにその値がテキスト ボックスに表示されるように、div 内の行をクリック可能にする必要があることです。

検索.php

<script language="javascript">
function showData(str)
{
    if (str.length==0)
    {
        document.getElementById("venuesearch").innerHTML="";
        document.getElementById("venuesearch").style.border="0px";
        return;
    }
    var venue_data = document.getElementById("venue").value;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("venuesearch").innerHTML=xmlhttp.responseText;
            document.getElementById("venuesearch").style.border="1px solid #A5ACB2";    
            document.getElementById("venuesearch").style.zIndex = "100";
        }
    }
    xmlhttp.open("GET","aj_search.php?venue="+str,true);
    xmlhttp.send();
}
 </script>
 </head>

<body>

<input id="venue" name="venue" type="text" onkeyup="showData(this.value)" value="Tag venue name"/>
<div id="venuesearch">
</div>
</body>

aj_search.php

  <?php
$dbhandle=mysql_connect("localhost","root","")or die("Unable to connect");
$select=mysql_select_db("scenekey",$dbhandle) or die("Unable to connect");

    if(isset($_GET['venue']))
    {
  $venue_name = $_GET['venue'];
    }
    $hint='';
    $query_get_venue = "SELECT * from sk_accounts WHERE acnt_member_class='venue' and acnt_fname LIKE '".$venue_name."%'";

     $result_query_get_venue = mysql_query($query_get_venue);
     $row_count = mysql_num_rows($result_query_get_venue);
 if($row_count > 0)
 {
    $hint = "<table>";
     while($row = mysql_fetch_array($result_query_get_venue))
     {

         $act_fname = $row['acnt_fname'];
         $act_lname = $row['acnt_lname'];
         $act_name = $act_fname . ' ' . $act_lname;
         $hint.= "<tr><td>".$act_name."</td></tr>";
     }
     $hint .= "</table>";
 }
     if ($hint == "")
     {
   $response="no suggestion";
     }
     else
     {
 $response=$hint;
      }

     //output the response
     echo $response;
      ?>
4

2 に答える 2

1

追加idするか、同じまたは追加機能classのクリックイベントを設定しますjavascript

 $hint.= "<tr onClick ='hintVal(".$act_name.");'><td>".$act_name."</td></tr>";

JavaScript の場合:

function hintVal(trVal) {
 alert('tr clicked');
 alert('tr value:'+trVal);
}
于 2013-01-07T06:56:23.273 に答える
1

なぜ使えないのですJquery Autocompleteか?

http://www.pengoworks.com/workshop/jquery/autocomplete.htm

http://code.google.com/p/jquery-autocomplete/

于 2013-01-07T06:59:47.487 に答える