70

我知道这是一个简单的问题,但由于某种原因,这对我不起作用。我有一个每次更改下拉菜单时都会触发的功能。这是假设获取文本字段的当前值的相关代码,如果存在值,请清除 .change 函数中包含的值:

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

我觉得我错过了一些非常简单的东西。

4

15 回答 15

153
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
    }

要使用 a 更新您的文本字段,""您需要尝试

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

但我认为你不需要上述过程。


简而言之,只有一行

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

笔记

.val()用于设置/获取文本字段中的值。有参数它充当setter,没有参数充当getter。

阅读更多关于.val()

于 2012-06-08T15:33:19.083 回答
31

如果要清除文本字段,请使用:

$('#doc_title').val("");
于 2012-06-08T15:36:53.940 回答
7

您可以使用此行清除它

$('#TextBoxID').val("");
于 2015-06-04T05:05:12.703 回答
6

而不是所有这些:

$('#doc_title').attr("value", "");
于 2012-06-08T15:34:56.600 回答
6

你需要的是:

if ($('#doc_title').val()) {
  $('#doc_title').val('');
}
于 2012-06-08T15:35:38.703 回答
6

简单来说,您可以使用以下代码清除表单中的所有文本字段、文本区域、下拉列表、单选按钮、复选框。

function reset(){
    $('input[type=text]').val('');  
    $('#textarea').val(''); 
    $('input[type=select]').val('');
    $('input[type=radio]').val('');
    $('input[type=checkbox]').val('');  
}
于 2013-06-25T08:51:27.810 回答
4

如果你使用的是 jQuery,那么你可以使用这个:

// var doc_val_check = $('#doc_title').val(); - No need of this!
if ($('#doc_title').val().length > 0) {
    $('#doc_title').val("");
}
于 2012-06-08T15:35:07.057 回答
4

我们可以用它来清除文本

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

于 2016-04-29T10:16:37.967 回答
2

在大多数情况下,您只需设置 .val() 方法。所有答案都非常准确,只是想将我的结果发布给可能需要通过呈现的客户端 ID 设置值的任何人。

 $('#' + '<%= doc_title.ClientID %>').val(null);
于 2013-11-07T14:33:23.577 回答
1

您正在doc_val_check与一个空字符串进行比较。您想将空字符串分配给doc_val_check

所以应该是这样的:

doc_val_check = "";

于 2012-06-08T15:36:42.183 回答
1

用于jQuery.prototype.val获取/设置字段值:

var value = $('#doc_title').val();    // get value
$('#doc_title').val('');    // clear value
于 2014-12-10T06:45:58.060 回答
1

    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>

于 2016-05-12T09:35:19.220 回答
0
$('#[element id]').val(null);

或者

$('.[element class]').val(null);
于 2017-04-24T19:20:58.113 回答
0

如果您想拥有带有可见空白文本的元素,只需执行以下操作:

$('#doc_title').html('&nbsp;');
于 2018-01-06T23:30:14.743 回答
0

尝试使用这个:

function checkValue(){
  var value = $('#doc_title').val();
  if (value.length > 0) {
        $('#doc_title').val("");
        $('#doc_title').focus();  // To focus the input 
    }
    else{
    //do something
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<input type="text" id="doc_title" value="Sample text"/>
<button onclick="checkValue()">Check Value</button>
</body>

于 2020-01-06T05:51:43.333 回答