【问题标题】:How to handle variable inside javascript如何在javascript中处理变量
【发布时间】:2016-07-15 15:02:02
【问题描述】:

我正在尝试用 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>";
}

?>

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

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

【问题讨论】:

  • 你已经在你的函数中附上了准备好的文档。这是不对的。
  • 好的@mohit,谢谢你的信息。将删除它。虽然它仍然以这种方式工作。
  • @MohitBhardwaj 真的吗?
  • @RokoC.Buljan 我是这么想的 :) 它不是只在文档准备好时将封闭的函数绑定到事件,而且因为文档很可能已经准备好了,所以这个处理程序中的代码应该不会再接到电话了?
  • @MohitBhardwaj 这肯定是丑陋的代码。但是,是的,在调用时,DOM 准备就绪,没有任何问题:)

标签: javascript jquery function variables onkeyup


【解决方案1】:

您需要将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>

【讨论】:

  • 但是你的帖子更好,虽然 =) +1 给你。
【解决方案2】:

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

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

将其更改为:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多