我有以下代码。我要做的是在输入框中键入名称时,从数据库中创建匹配联系人的下拉列表。我捕获输入变量作为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);
}