web-dev-qa-db-fra.com

Comment vider une valeur d'entrée avec jQuery?

J'essaie de créer un dialogue modal avec des images dans lequel vous pouvez sélectionner plusieurs images. Je dois obtenir les valeurs d'une entrée et ensuite la vider, mais je ne peux pas vider l'entrée. J'ai essayé .val('') et .val(null), mais cela n'a pas fonctionné pour moi.

Voici le code complet:

$("#hdselect").click(function(){
        $(".modal").html("");

        $.post('mediaservice.php',{hd:'ok',images:$("#hdimages").val()},function(data){
            $(".modal").append(data);
        });
        $(".modal").dialog({
            'modal':true,
            'title':"Click the image to select",
            'width':960,
            'height':600,
            'resizable':false,
            'show': {effect: 'drop', direction: "up"},
            'buttons': {"Ok": function() {  
                    var hd=Array();
                    var hdval=$("#hdimages").val();
                    $("#hdimages").attr('value',' ');
                    $("input[name='hd[]']:checked").each(function(){
                        hd.Push($(this).val());
                    });
                    if(hdval!=''){
                        hdval=hdval+","+hd;
                    }else{
                        hdval=hd;
                    }                        
                    $("#hdimages").val(hdval);
                    var images=$("#hdimages").val();
                    $.post('mediaservice.php',{getHd:images},function(data){
                        $("#imgthumbBase").append(data);
                    });
                    $(this).dialog("close");
                }
            }
        });
    });

L'idée est que l'utilisateur clique sur un bouton et qu'une boîte de dialogue modale s'ouvre avec plusieurs images et cases à cocher. À ce stade, je dois obtenir les valeurs d'une entrée, puis les effacer.

59
Vit Kos

Tu pourrais essayer:

$('input.class').removeAttr('value');
$('#inputID').removeAttr('value');
63
Brandon Ferrara

Pour rendre les valeurs vides, vous pouvez effectuer les opérations suivantes:

 $("#element").val('');

Pour obtenir la valeur sélectionnée, vous pouvez faire:

var value = $("#element").val();

#element est l'identifiant de l'élément que vous souhaitez sélectionner.

99
Darren

Une meilleure façon est:

$("#element").val(null);
24
Arjun Tuli

La méthode habituelle pour vider la zone de texte à l'aide de jquery est la suivante:

$('#txtInput').val('');

Si le code ci-dessus ne fonctionne pas, vérifiez que vous êtes en mesure d'obtenir l'élément d'entrée.

console.log($('#txtInput')); // should return element in the console.

Si vous rencontrez toujours le même problème, envoyez votre code.

16
shanky

Une autre façon est:

$('#element').attr('value', '');
8
CIRCLE
$('.reset').on('click',function(){
           $('#upload input, #upload select').each(
                function(index){  
                    var input = $(this);
                    if(input.attr('type')=='text'){
                        document.getElementById(input.attr('id')).value = null;
                    }else if(input.attr('type')=='checkbox'){
                        document.getElementById(input.attr('id')).checked = false;
                    }else if(input.attr('type')=='radio'){
                        document.getElementById(input.attr('id')).checked = false;
                    }else{
                        document.getElementById(input.attr('id')).value = '';
                        //alert('Type: ' + input.attr('type') + ' -Name: ' + input.attr('name') + ' -Value: ' + input.val());
                    }
                }
            );
        });
2
raji