2009-10-06 17 views
6

muszę usunąć niektóre wartości z pola wprowadzania ukrytych i tekstu przy użyciu jQuery, ale jakoś to nie działacena Usuń wejścia przy użyciu jQuery

Przykład:

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

używam następujący kod jQuery usunąć wartości ze zdarzeniem onclick

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

mogę opróżnić zawartość pola wprowadzania i wyczyścić wartość pola ukrytego przy użyciu jQuery?

Odpowiedz

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

Należy to zrobić:

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

Oznacza to, że przechodzą pusty ciąg. Albo to, albo użyj removeAttr (query.removeAttr('value')).

+4

+1 dla 'removeAttr()' –

+1

+1, oddelegowani, powiedziałbym removeAttr() jest najlepszym sposobem, aby to zrobić. – karim79

+0

zgodnie z oczekiwaniami :) dziękuję – metamagicson

4

Wystarczy przekazać pusty ciąg w funkcji val() lub można użyć bardziej ogólny attr() funkcję, która określa dany atrybut do danej wartości:

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

To powinno działać, ale w moim przypadku nie wiem y działa, więc użyłem $ ("# t1"). Val(). Działa to dobrze dla mnie. Nie wiem dlaczego w moim przypadku .attr nie działa. Jeśli ktoś to wyjaśni, to jest dla nas dobre. – asifaftab87

2

To powinno być:

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

Kiedy val() funkcja nie posiada parametr służy jako getter nie seter

+0

$ ("# t1"). Attr ("wartość", ""); dlaczego to nie działa dla mnie, działa kod w tym samym miejscu. Czy możesz wyjaśnić proszę. – asifaftab87

6

krótsza wersja

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