web-dev-qa-db-fra.com

Effacer la valeur du champ de texte dans JQuery

Je comprends que c’est une question facile, mais pour une raison quelconque, cela ne fonctionne tout simplement pas pour moi. J'ai une fonction qui est déclenchée chaque fois qu'un menu déroulant est modifié. Voici le code pertinent censé saisir la valeur actuelle du champ de texte. Si une valeur existe, effacez-la qui est contenue dans la fonction .change:

var doc_val_check = $('#doc_title').attr("value");
    if (doc_val_check.length > 0) {
        doc_val_check == "";
    }

Je sens que je manque quelque chose de très simple.

57
Yuschick
doc_val_check == "";   // == is equality check operator

devrait être

doc_val_check = "";    // = is assign operator. you need to set empty value

                       // so you need =

Vous pouvez écrire votre code complet comme ceci:

var doc_val_check = $.trim( $('#doc_title').val() ); // take value of text 
                                                     // field using .val()
    if (doc_val_check.length) {
        doc_val_check = ""; // this will not update your text field
    }

Pour mettre à jour votre champ de texte avec un "", vous devez essayer

$('#doc_title').attr('value', doc_val_check); 
// or 
$('doc_title').val(doc_val_check);

Mais je pense que vous n'avez pas besoin du processus ci-dessus.


En bref, une seule ligne

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

Remarque

.val() permet de définir/obtenir une valeur dans un champ de texte. Avec paramètre, il agit en tant que setter et sans paramètre, en tant que getter.

En savoir plus sur .val()

128
thecodeparadox

Si vous souhaitez effacer le champ de texte, utilisez:

$('#doc_title').val("");
25
thebiffboff

Au lieu de tous ceux:

$('#doc_title').attr("value", "");
6
Tooraj Jam

Ce dont vous avez besoin c'est:

if ($('#doc_title').val()) {
  $('#doc_title').val('');
}
6
xdazz

vous pouvez effacer en utilisant cette ligne 

$('#TextBoxID').val("");
4
Muhammad Kamran

Si vous utilisez jQuery, vous pouvez utiliser ceci:

// var doc_val_check = $('#doc_title').val(); - No need of this!
if ($('#doc_title').val().length > 0) {
    $('#doc_title').val("");
}

De manière simple, vous pouvez utiliser le code suivant pour effacer tout le champ de texte, zone de texte, liste déroulante, bouton radio, case à cocher dans un formulaire.

function reset(){
    $('input[type=text]').val('');  
    $('#textarea').val(''); 
    $('input[type=select]').val('');
    $('input[type=radio]').val('');
    $('input[type=checkbox]').val('');  
}
4
Sankar

Pour la plupart, vous venez de définir la méthode .val (). Toutes les réponses sont assez précises, je voulais juste poster mes résultats à quiconque aurait besoin de définir la valeur via l'identifiant du client rendu.

 $('#' + '<%= doc_title.ClientID %>').val(null);
1
cking24343

Vous comparez doc_val_check avec une chaîne vide. Vous voulez affecter la chaîne vide à doc_val_check

il devrait donc être ceci:

doc_val_check = "";

1
SherCoder

 

    First Name: <input type="text" autocomplete="off" name="input1"/>
    <br/>
    Last Name: <input type="text" autocomplete="off" name="input2"/>
    <br/>
    <input type="submit" value="Submit" />
</form>

1
Hrushi

Utilisez jQuery.prototype.val pour obtenir/définir les valeurs de champ:

var value = $('#doc_title').val();    // get value
$('#doc_title').val('');    // clear value
1
Axel

Si vous voulez avoir un élément avec du texte vierge visible, faites ceci:

$('#doc_title').html('&nbsp;');
0
Hamed Nikzad
$('#[element id]').val(null);

ou

$('.[element class]').val(null);
0
ricarela