それだけです...私は次のようなjQueryコードを持っています:
jQuery:
<script type="text/javascript">
$(document).ready(function() {
$('#val').autocomplete({
source: "search.php",
});
});
</script>
HTML:
<input class="searchInput" id="val" name="val" type="text" />
PHP (search.php):
$con = mysql_connect("localhost","root","");
$db = mysql_select_db("x",$con);
$sql = mysql_query("SELECT * FROM opcionais WHERE Opcional LIKE 'Nokia%'");
$result = array();
while($linha = mysql_fetch_array($sql)){
$result[] = $linha['Opcional'];
}
echo json_encode($result);
しかし、これが取引です... search.phpを開くと、jsonのすべての結果が表示されました...次に、オートコンプリートを試すと、彼はすべての結果をロードします...たとえば...
search.php で私は受け取ります:
[「ノキア」、「ノキア Lumia」]
わかりました...オートコンプリートで、「LUMIA」と入力すると、ウィジェットも「Nokia」をロードします。Buuutt.....「search.php」で取得した結果をコピーして、jquery スクリプトの変数に貼り付けると、オートコンプリートが正常に機能します。
jQueryコードと一緒に変数に結果を直接入れた場合のように、結果の外部ソースが機能しない理由を誰でも知っていますか?
事前に感謝し、私の下手な英語で申し訳ありません:-)
編集:
だから私は何が起こるかを示すためにもっと画像を入れます...そのように機能していません.SOURCEが「$('#val').val()」を受け入れることができないようです...
解決した
私は自分で問題を解決しました...
<script type="text/javascript">
$(document).ready(function(){
$('#val').keyup(function(){
var x = "search.php?ac=" + $('#val').val();
$('#val').autocomplete({
source: x,
minLenght:5,
});
});
});
</script>
すべての応答に感謝します:-)