0

PHPスクリプトで入力テキストボックスのオートコンプリートを行っています。これがジャバスクリプトです。すべて正常に動作します... search.php は、選択するオプションを div に入力するだけです。これが本当の問題です。入力テキスト ボックスをタグ内に配置すると、オートコンプリート オプションを表示する div がページに表示されません。ページのどこにでもdivを配置でき、ページのどこにもない限り機能します。

<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>";
4

1 に答える 1

0

コードをレビューしてテストすると、いくつかの点が際立ちます。

1) 検索フィールドに、jQuery 関数が探している「検索」クラスがありません。

2)そして、あなたの type 属性には、両方の例で等号がありません。

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

検索フィールドと表示 div がフォームにラップされた実際の例を次に示します。

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

于 2012-12-15T00:50:52.427 に答える