Очистить значение текстового поля в JQuery

Я понимаю, что это простой вопрос, но по какой-то причине это не работает для меня. У меня есть функция, которая запускается каждый раз, когда изменяется выпадающее меню. Вот соответствующий код, который должен захватить текущее значение текстового поля, если значение существует, очистите его, которое содержится внутри .функция изменения:

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

Я чувствую, что мне не хватает чего-то очень простого.

14 ответов


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

должно быть

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

                       // so you need =

вы можете написать полный код такой:

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
    }

чтобы обновить текстовое поле с помощью "" нужно попробовать

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

но я думаю, что вам не нужно выше процесса.


короче говоря, только одна строка

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

Примечание

.val() используется для установки / получения значения в текстовом поле. С параметром он действует как сеттер и без параметра действует как геттер.

подробнее о .val()


Если вы хотите, чтобы очистить текстовое поле, используйте:

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

вместо всех этих:

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

что нужно:

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

Если вы используете jQuery, то вы можете использовать это:

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

простым способом вы можете использовать следующий код, чтобы очистить все текстовое поле, textarea, раскрывающийся список, переключатель, флажок в форме.

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

вы можете очистить его, используя эту строку

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

мы можем использовать это для текста clear

$('input[name="message"]').val("");  

вы сравниваете doc_val_check с пустой строкой. Вы хотите назначить пустую строку doc_val_check

так это должно быть вот так:

doc_val_check = "";


по большей части вы просто установить .функция val() метод. Все ответы довольно точны, просто хотел опубликовать мои результаты всем, кому может потребоваться установить значение через идентификатор клиента, который будет отображаться.

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

использовать jQuery.prototype.val чтобы получить/установить значения полей:

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

    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>


$('#[element id]').val(null);

или

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

Если вы хотите иметь элемент с видимым пустым текстом, просто сделайте это:

$('#doc_title').html('&nbsp;');