Как очистить содержимое поля ввода html, используя Jquery - PullRequest
4 голосов
/ 13 августа 2011

У меня есть текстовое поле html, которое можно скрыть.

При скрытии я хочу очистить текстовое поле.

Я использовал это, и оно не работает.

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

И я пытался $('#id').text("");.

Удалено все текстовое поле.

Ответы [ 4 ]

8 голосов
/ 13 августа 2011

Это правильно:

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

Однако ваша часть 2 интересна.

$('#id').text("");

Это не должно создавать поведение, которое вы описываете.Я ожидаю, что вы ссылаетесь на родительский объект, а не на <input> напрямую.

2 голосов
/ 13 августа 2011

Что еще происходит с вашим кодом ... потому что это работает для меня ...

<input id="id">
<input id="clear" type="button" value="Clear">

и

$('#clear').click(function(){
    $('#id').val('');    
});

Рабочий пример: http://jsfiddle.net/jasongennaro/xrxU8/

1 голос
/ 03 мая 2017

Пожалуйста, попробуйте это:

 $('#id').attr("value","");
1 голос
/ 13 августа 2011

Предполагая, что TheTextField является идентификатором вашего поля ввода, это прекрасно работает.

$('#TheTextField').val("");
$('#TheTextField').hide();

В любом случае, если вы используете FireBug и смотрите на поле ввода, пока оно скрыто, вы увидите, чтоАтрибут value по-прежнему имеет значение, которого он на самом деле не имеет, но когда вы его снова показываете:

$('#TheTextField').val("");
$('#TheTextField').hide();
$('#TheTextField').show();

поле ввода, как вы увидите, оно отображается в браузере, в отличие от того, что вывидят в FireBug, он больше не имеет значения.

...