2016-08-30 1 views
0

J'ai le code suivant. Ce que j'essaie de faire est de créer une liste déroulante des contacts correspondants de ma base de données tout en tapant le nom dans la zone de saisie. Je capture les variables d'entrée comme je tape et je le passe à un fichier php qui le traite et le charge vers un résultat div.émission espace avec jquery Sur la fonction KeyUp

J'ai réussi. Cependant, je ne suis pas capable de passer de l'espace en valeur quand je veux taper des noms avec de l'espace entre eux. Quand je fais ça, ça ne marche pas.

Par exemple: je tape 'John' ... tous les noms similaires comme John est listé. Mais quand je tape 'John Smith', rien n'est listé à cause de l'espace entre les mots.

Donc la question est évidente. Comment puis-je faire passer l'espace également. Alors que les résultats de John Smith sont affichés. Je suppose que je devrais le passer en% 20. Mais ce que j'ai essayé est ci-dessous. Et ça ne marche pas. Je fais le passage de la valeur d'entrée avec la fonction 'getcont()' dans le script. C'est là que je suis coincé. Je suis sûr que c'est une solution jquery simple. Mais je suis amateur à Jquery. Veuillez nous conseiller

<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

'if (x == » ") {x ==" % 20 ";}' 'devrait être si (x ==" ") {x =" % 20" ;} ' – Mairaj

+0

Essayé ... n'a pas fonctionné .. – user3526204

Répondre

1
function getcont(){ 
    var x = document.getElementById("cit"); 
    x=encodeURI(x.value); 
    $('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x); 
} 
+0

N'a pas fonctionné ..... :( – user3526204

+0

changez-vous x.value à x? –

+0

Oui Je l'ai fait avec 'X' dans encodeURI le script échoue.Quand j'ai changé en 'x' et utilisé une alerte pour trouver ce qui arrive à x, le script échoue toujours mais je reçois ce% 5Bobject% 20HTMLInputElement% 5D en alerte – user3526204

0
function getcont(){ 
    var x = document.getElementById("cit").value; 
    if(x==" "){x="%20";} 
    $('#contdiv').fadeIn('fast').load('searchconts.php?cit='+x); 
} 
+0

N'a pas fonctionné ..... :( – user3526204