如何处理 javascript 内的变量

How to handle variable inside javascript

我正在尝试使用 jquery 业余创建一个自动完成输入字段。我的第一步是通过使用 jquery.

的加载函数调用 keyup 上的 php 脚本,在输入字段下方显示一些结果

我不知道这种尝试有多么愚蠢,但我想我快成功了。但是,我在将 keyup 变量传递给脚本时卡住了。实际上我可以传递一个变量,但我需要使用 keyup 变量来传递。

为了清楚问题,请查看代码;

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
function getres(){
    var x = document.getElementById("cit");
    $('#resdiv').load('results.php?cit=x.value');
}
</script>

HTML

 <input type="" name="" id="cit" onkeyup="getres()">
<div id='resdiv'></div>

PHP 正在调用文件 results.php

<?php

if(isset($_GET['cit'])){echo $_GET['cit']."<br>";}
include('connnew.php');
$getprops=$clientdb->query("SELECT * FROM cities ORDER BY DATE LIMIT 6");

while($info=$getprops->fetch_assoc()){
    //$results[]=$info['city'];
    echo $info['city']."<br>";
}

?>

我能够在下面的 div 中使用 id resdiv 获得结果。但问题是,如何确保 JavaScript 函数中 Var X 的值附加到加载参数 results.php?cit= ?

我得到 'x.value' 被传递而不是 x 的实际值。我想一旦我这样做了,最终我可以将变量与结果数组匹配并显示匹配的自动完成类型的结果。

您需要将 x.value 放在引号外,因为这是一个变量。您可以使代码比现在短得多。您应该不会对以下方式有任何问题:

$("#cit").on("keyup", function(){
    var x = document.getElementById("cit").value;
    $('#resdiv').load('results.php?cit='+x.value);
});//

<input type="" name="" id="cit">
<div id='resdiv'></div>

关于您的代码,这里有一个错误:

$('#resdiv').load('results.php?cit=x.value');

将其更改为:

$('#resdiv').load('results.php?cit=' + x.value);