jQquery 関数を使用.live
して、入力ボックスにポップアップを開く $post php スクリプトから何かを更新しています。問題は、テキストの値が入力文字列に送られますが、ポップアップ バーが消えると消えてしまうことfadesOut()
です。
<script type="text/javascript">
$(document).ready(function() {
$(".category").live("click", function(){
varval= $(this).text();
$("#inputString").val(varval);
});
});
</script>
どうすれば価値を維持できるかについて、助けていただければ幸いです。
ここに私のHTMLがあります
<div>
<form id="searchform">
<div>
What are you looking for? <input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" />
</div>
<div id="suggestions"></div>
</form>
JSはこちら
function lookup(inputString) {
if(inputString.length == 0) {
$('#suggestions').fadeOut(); // Hide the suggestions box
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
}
}
これは、以下を出力するphpファイルを呼び出します
<p id="searchresults">
<?php
while ($result = $query ->fetch_object()) {
if($result->liveSearchID != $catid) { // check if the category changed
echo '<a href="" class="category">'.$result->Keyword.'</a>';
$catid = $result->liveSearchID;
}
?></p>
OKここに私が試したバリエーションがありますが、それでも同じことをしています
$(document).delegate(".category", "click", function( event ) {
var varval= $(this).text();
$("#inputString").val(varval);
});
皆さんのために、サーバーへのテストリンクを設置しました
テストテキストとしてパスタを使用してください
visit http://122.160.94.46/autoSuggest1/