問題
こんにちは、Jquery POST と PHP を使用した単純な検索システムがあります。検索後、次のような情報が表示されます。
while($row = $search->fetch(PDO::FETCH_ASSOC)) {
echo
'
<br /><br />
'.$row['result_name'].' <br /> Data: <a href="#" id="hover">Click to see</a><br /><br />
';
}
ID「ホバー」(検索後)をホバーすると、Javaスクリプトがデータでいくつかのdivを埋め、データを取得するために別のPOSTを送信します。
それが私がやったことです:
ホバーの場合:
$("#hover").hover(function() {
$.post("ajax_search.php?type=sidebar", { sidebar : seach.val() }, function(get_data) {
stop_load();
$("#sidebar").html(get_data);
});
});
PHP:
if (isset($_GET['type']) && $_GET['type'] == 'sidebar' && isset($_POST['sidebar']))
{
$data = htmlentities(trim($_POST['search']));
$similar = "'%$data%'";
$search = $connect->prepare("SELECT * FROM results WHERE result_name LIKE $similar");
$search->execute();
while($row = $search->fetch(PDO::FETCH_ASSOC)) {
echo
'
<br /><br />
'.$row['result_name'].' <br /> Data: '.$row['rsult_data'].'<br /><br />
';
}
}
しかし、ホバーでは何も起こりません!
質問
私は何を間違えましたか?ホバー時に何もしないのはなぜですか?スクリプトの実行後にエコーされた ID を使用できますか?
追加
完全な jquery コード:
$(document).ready(function() {
var search = $("#search");
$("#bla").click(function() {
if (search.val() != '') {
load();
$.post("ajax_search.php", { search : search.val()}, function(data) {
stop_load();
$(".result").html(data);
});
}
else
{
$(".result").html('');
}
$("#hover").hover(function() {
$.post("ajax_search.php?type=sidebar", { sidebar : seach.val() }, function(get_data) {
stop_load();
$("#sidebar").html(get_data);
});
});
function load() {
$('.load').html('<img src="http://i.imgur.com/ZoI4x5I.gif" />');
}
function stop_load(){
$('.load').html('');
}
});
完全な PHP コード:
if (isset($_POST['search']))
{
$data = htmlentities(trim($_POST['search']));
$similar = "'%$data%'";
$search = $connect->prepare("SELECT * FROM results WHERE result_name LIKE $similar");
$search->execute();
if ($search->rowCount() == 0) {
echo 'You searched for <b>'.$data.'</b>, 0 results found.';
} else {
$results = $search->rowCount();
echo 'You searched for <b>'.$data.'</b>, '.$results.' results found.';
while($row = $search->fetch(PDO::FETCH_ASSOC)) {
echo
'
<br /><br />
'.$row['result_name'].' <br /> Data: <a href="#" id="hover">Click to see</a><br /><br />
';
}
}
}
if (isset($_GET['type']) && $_GET['type'] == 'sidebar' && isset($_POST['sidebar']))
{
$data = htmlentities(trim($_POST['search']));
$similar = "'%$data%'";
$search = $connect->prepare("SELECT * FROM results WHERE result_name LIKE $similar");
$search->execute();
while($row = $search->fetch(PDO::FETCH_ASSOC)) {
echo
'
<br /><br />
'.$row['result_name'].' <br /> Data: '.$row['rsult_data'].'<br /><br />
';
}
}
ありがとう!