Eliminar el valor de la entrada usando jQuery

2 minutos de lectura

Avatar de usuario de Elitmiar
Elitmiar

Necesito eliminar algunos valores de un cuadro de entrada de texto y oculto usando jQuery, pero de alguna manera esto no funciona

Ejemplo:

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

Uso el siguiente código jQuery para eliminar los valores con un evento onclick

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

¿Puedo vaciar el contenido del cuadro de entrada y borrar el valor del campo oculto usando jQuery?

Usted debe hacer esto:

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

Es decir, pasar una cadena vacía. O eso, o usar removeAttr (query.removeAttr('value')).

  • +1, secundado, diría que removeAttr() es la forma preferida de hacer esto.

    – karim79

    6 de octubre de 2009 a las 11:14

  • Tenga en cuenta que el atributo NO se elimina con .val('')por lo que si tiene dependencias que verifican la existencia del atributo (no el valor), debe ejecutar removeAttr. (En mi código tenía dependencias de ambos, así que incluso tuve que ejecutar query.val('').change().removeAttr('value')).

    – JHBonarius

    15 de enero de 2021 a las 8:56

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

  • También puede acortar a $(‘#t1, #ht1’).attr(‘value’, ”);

    – Vetal4eg

    15 de agosto de 2019 a las 21:37


Versión más corta

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

Solo necesita pasar una cadena vacía en el val() función o, puede utilizar la más genérica attr() función que establece un atributo dado a un valor dado:

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

Esto debería ser:

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

Cuando la función val () no tiene un parámetro, servirá como captador, no establecedor

  • $(‘#t1’).attr(“valor”, “”); por qué esto no funciona para mí, en el mismo lugar donde funciona su código. ¿Puedes explicar por favor?

    – asifaftab87

    8 de octubre de 2017 a las 9:07

avatar de usuario de ddb
ddb

$(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');
  });
});

  • $(‘#t1’).attr(“valor”, “”); por qué esto no funciona para mí, en el mismo lugar donde funciona su código. ¿Puedes explicar por favor?

    – asifaftab87

    8 de octubre de 2017 a las 9:07

¿Ha sido útil esta solución?