我有以下代码。我想要做的是在输入框中键入名称时创建从我的数据库中匹配联系人的下拉列表。我将输入变量捕获为i type并将其传递给php文件,该文件处理它并将其加载到结果div。
我成功了。但是,当我想在它们之间键入带有空格的名称时,我无法将空格作为值传递。当我这样做时,它不起作用。
对于例如:我输入'John'...列出所有类似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>
答案 0 :(得分:1)
function getcont(){
var x = document.getElementById("cit");
x=encodeURI(x.value);
$('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x);
}
答案 1 :(得分:0)
function getcont(){
var x = document.getElementById("cit").value;
if(x==" "){x="%20";}
$('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x);
}