2012-12-14 36 views
0

工作,我做一個自動完成在PHP腳本一個輸入文本框。這是javascript。一切工作正常... search.php只是用選項來填充div。這是真正的問題。當我把文本框輸入標籤內,那麼div的是顯示自動完成選項無法呈現在頁面上。我可以將div放在頁面的任何位置,只要頁面上沒有任何地方,它就可以工作。的PHP腳本中自動完成的jQuery腳本不中<form>標籤

<script type="text/javascript"> 
$(document).ready(function(){ 
$(".search").keyup(function() 
{ 
var searchbox = $(this).val(); 
var dataString = 'searchword='+ searchbox; 
if(clan_id=='') 
{ 
} 
else 
{ 
$.ajax({ 
type: "POST", 
url: "search.php", 
data: dataString, 
cache: false, 
success: function(html) 
{ 
$("#display").html(html).show(); 
} 
}); 
}return false; 
}); 
}); 
jQuery(function($){ 
$("clan_id").Watermark("Search"); 
}); 
</script> 

的search.php將返回此代碼:

echo "<div class=\"display_box\" align=\"left\" onclick=\"document.getElementById ('clan_id').value =' $final_clan_id '\">\n"; 
echo "<img src=\" $img \" style=\"width:25px; float:left; margin-right:6px\" />$final_clan_name <br/></div>\n"; 

自動完成的作品有這樣的:

echo "<input type \"text\" id=\"clan_id\">\n"; 

自動完成失敗,此:

echo "<form name ='showClan' method='post' action='" . htmlentities($_SERVER['PHP_SELF']) . "'>\n"; 
echo "<input type \"text\" id=\"clan_id\">\n"; 
echo "</form>"; 
+1

保留。我看到「自動完成適用於此」,但這是哪裏?!? Search.php被Ajax返回到另一個頁面......但該頁面的內容在哪裏?沒有足夠的上下文來幫助。 – bpeterson76

回答

0

在審查和測試你的代碼是一對夫婦的立場了:

1)您的搜索字段沒有「搜索」類,你的jQuery函數所期待的。

2)和你的類型屬性缺少平等的兩個你的例子簽字。

<input class="search" type="text" id="clan_id"> 

這裏是一個與搜索欄和顯示的div包裹在一個形式的工作示例:在第二

http://jsfiddle.net/hansvedo/zhQse/