问题传递空间与jquery上KeyUp功能

issue passing space with jquery On KeyUp function

本文关键字:KeyUp 功能 jquery 空间 问题      更新时间:2023-09-26

我有以下代码。我要做的是在输入框中键入名称时,从数据库中创建匹配联系人的下拉列表。我捕获输入变量作为I类型,并将其传递给一个php文件,该文件处理它并将其加载到resultdiv。

我成功了。但是,当我想要键入名称之间有空格时,我不能将空格作为值传递。当我这样做的时候,它不起作用。

例如:我输入"John"…都有类似的名字,比如约翰。但是,当我输入"John Smith"时,由于单词之间的空格,没有任何列表。

所以问题很明显。我怎样才能让空间也得到传递。这样就会显示"John Smith"的结果。我想我得考%20才行。但我的尝试如下。但这并没有奏效。我在脚本中使用'getcont()'函数传递输入值。这就是我被困住的地方。我确信这是一个简单的jquery解决方案。但我是一个业余的Jquery。请建议。

<style>
  #contdiv{display:none}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js" async>    </script>
<script>
$('document').ready(function(){
        $('#contdiv').on('click', '.pno', function(){
        var value = $(this).html();
        var input = $('#cit');
        input.val(value);
        $('#contdiv').fadeOut('fast');  
  });       
});
function getcont(){
    var x = document.getElementById("cit");
    if(x==" "){x="%20";}
    $('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x.value);
}
</script>
<div class="admininner">
<h3>Search Contacts on Phone</h3>
<input type="text" name="phone" id="cit" class="contdiv" onkeyup="getcont()" placeholder="Type to search">
<p id="contdiv"></p>
</div>
function getcont(){
    var x = document.getElementById("cit");
    x=encodeURI(x.value);
    $('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x);
}
function getcont(){
    var x = document.getElementById("cit").value;
    if(x==" "){x="%20";}
    $('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x);
}