2009-10-06 9 views
6

je dois supprimer certaines valeurs d'une boîte d'entrée cachée et texte à l'aide jQuery, mais en quelque sorte ce ne fonctionne pasvaleur Supprimer de l'entrée en utilisant jQuery

Exemple:

<input type="hidden" value="abc" name="ht1" id="ht1" /> 
<input type="text" name="t1" id="t1" /> 

J'utilise le code jQuery suivant pour supprimer les valeurs avec un événement onclick

$('#rt1').click(function() { 
    $('#t1').val(); 
    $('#ht1').val(); 
}); 

Puis-je vider le contenu de la zone de saisie et effacer la valeur du champ caché à l'aide jQuery?

Répondre

13
$('#rt1').click(function() { 
    $('#t1').attr('value', ''); 
    $('#ht1').attr('value', ''); 
}); 
22

Vous devriez faire ceci:

$('#rt1').click(function() { 
    $('#t1').val(''); 
    $('#ht1').val(''); 
}); 

C'est, passer une chaîne vide. Soit cela, ou utilisez removeAttr (query.removeAttr('value')).

+4

+1 pour 'removeAttr()' –

+1

+1, Appuyée, je dirais removeAttr() est le meilleur moyen de le faire. – karim79

+0

comme prévu :) merci – metamagicson

4

Vous avez juste besoin de passer une chaîne vide dans la fonction val() ou, vous pouvez utiliser la attr() plus générique fonction qui définit un attribut donné à une valeur donnée:

$('#rt1').click(function() { 
    $('#t1').attr("value", ""); 
    $('#ht1').attr("value", ""); 
}); 
+0

Cela devrait fonctionner mais dans mon cas je ne sais pas y il ne fonctionne pas alors j'ai utilisé $ ('# t1'). Val(). Ça fonctionne bien pour moi. Je ne sais pas pourquoi dans mon cas .attr ne fonctionne pas. Si quelqu'un explique cela, alors c'est bon pour nous. – asifaftab87

2

Cela devrait être:

$('#rt1').click(function() { 
    $('#t1').val(''); 
    $('#ht1').val(''); 
}); 

Lorsque la fonction val() ne pas paramètre, elle sert getter non setter

+0

$ ('# t1'). Attr ("valeur", ""); pourquoi cela ne fonctionne pas pour moi, même endroit que votre code fonctionne. Pouvez-vous expliquer s'il vous plaît. – asifaftab87

6

Shorter Version

$('#rt1').click(function() { 
    $('#t1, #ht1').val(''); 
}); 
0
$(document).ready(function(){ 

    $('input').click(function(){ 

    $(this).removeAttr('value'); 

    }); 
}); 

//remove value when click 

//without effect input type submit 
$(document).ready(function(){ 

    $('input:not(:submit)').click(function(){ 

    $(this).removeAttr('value'); 
    }); 
}); 
Questions connexes