Bonjour à tous,

cela fait quelque temps que j'ai commencé ma cuisine avec du java et ajax mais là j'ai un petit soucis que je n'arrive pas à résoudre

J'utilise un input texte normal qui lorsque que l'on commence à le remplir créer une input liste select, qui se créer à partir un BD.

Ce morceau fonctionne bien, mais si je vide le input text, je souhaiterai qu'il supprime la liste et c'est que je coince.

Pourriez vous me dire, quelle erreur bête j'ai fait.

voici les inputs

<td>
    <input type="text" size="10" autocomplete="off" name="q_search<?php echo $ligne_enc;?>" id="q_search<?php echo $ligne_enc;?>" class="q_search<?php echo $ligne_enc;?>" />
</td>
<td>
    <span class="list<?php echo $ligne_enc;?>"></span>
    <span class="check<?php echo $ligne_enc;?>"></span>
    <BR>
</td>
<td>
    <input type="text" size="2" autocomplete="off" name="quantité<?php echo $ligne_enc;?>" id="quantité<?php echo $ligne_enc;?>" class="quantité<?php echo $ligne_enc;?>" />
</td>
<td>
    <input type="text" size="6" autocomplete="off" name="prix<?php echo $ligne_enc;?>" id="prix<?php echo $ligne_enc;?>" class="prix<?php echo $ligne_enc;?>" />
</td>
<td>
    <input type="text" size="2" autocomplete="off" name="tva<?php echo $ligne_enc;?>" id="tva<?php echo $ligne_enc;?>" class="tva<?php echo $ligne_enc;?>" />
</td>

et voici le script

$('.q_search<?php echo $ligne_enc;?>').keyup(function()
    {   
            var q_searchs=$(this).val();
            //alert('"'+q_searchs+'"');
            if (q_searchs=="")
        {
            $('.list<?php echo $ligne_enc;?>').html();
        }
        else
        {
            var String = 'data=nom&search='+ q_searchs;
            $.ajax({
                type: "POST",
                url: "./site/include/ensemble/objet_scan_data.php",
                data: String,
                cache: false,
                success: function(result1)
                {
                    var result1=result1;
                    var listing='<SELECT id="objet<?php echo $ligne_enc;?>" name="objet<?php echo $ligne_enc;?>" classe="objet<?php echo $ligne_enc;?>"><OPTION VALUE=""></OPTION>'+result1+'</SELECT>'

                    if(result1=="")
                        {
                            $('.list<?php echo $ligne_enc;?>').html();
                        }
                    else
                        {
                            $('.list<?php echo $ligne_enc;?>').html(listing);
                        }
                }
                });
        }
});

merci d'avance pour votre aide.

FLO

1 réponse


flo3376
Auteur
Réponse acceptée

et voici la correction

$('.q_search<?php echo $ligne_enc;?>').keyup(function()
    {   
        var q_searchs=$(this).val();
        //alert('"'+q_searchs+'"');
        if (q_searchs != null && q_searchs.length > 0)
            {
                var q_searchs=$(this).val();
                var String = 'data=nom&search='+ q_searchs;
                $.ajax({
                        type: "POST",
                        url: "./site/include/ensemble/objet_scan_data.php",
                        data: String,
                        cache: false,
                        success: function(result1)
                        {
                            var result1=result1;
                            var listing='<SELECT id="objet<?php echo $ligne_enc;?>" name="objet<?php echo $ligne_enc;?>" classe="objet<?php echo $ligne_enc;?>"><OPTION VALUE=""></OPTION>'+result1+'</SELECT>'

                            if(result1=='')
                                {
                                    $('.list<?php echo $ligne_enc;?>').html('');
                                }
                            else
                                {
                                    $('.list<?php echo $ligne_enc;?>').html(listing);
                                }
                            }
                    });

            }
        else
            {
                $('.list<?php echo $ligne_enc;?>').html('');
            }

});