admin管理员组

文章数量:1134577

I understand this is an easy question but for some reason this just isn't working for me. I have a function that is triggered everytime a drop down menu is changed. Here is the relevant code that is suppose to grab the current value of the text field, if a value exists, clear it that is contained within the .change function:

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

I feel like I am missing something very simple.

I understand this is an easy question but for some reason this just isn't working for me. I have a function that is triggered everytime a drop down menu is changed. Here is the relevant code that is suppose to grab the current value of the text field, if a value exists, clear it that is contained within the .change function:

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

I feel like I am missing something very simple.

Share Improve this question edited Jun 8, 2012 at 15:40 Praveen Kumar Purushothaman 167k27 gold badges213 silver badges258 bronze badges asked Jun 8, 2012 at 15:32 DoomageAplenttyDoomageAplentty 2,7328 gold badges33 silver badges48 bronze badges 2
  • 2 Here I am five years later and while I can spot the issues in my code now, I am happy to see this question helping so many others still. :) – DoomageAplentty Commented Sep 20, 2017 at 6:27
  • It's 2019, and still going :) – Mark Handy Commented Nov 26, 2019 at 14:00
Add a comment  | 

15 Answers 15

Reset to default 155
doc_val_check == "";   // == is equality check operator

should be

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

                       // so you need =

You can write you full code like this:

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
    }

To update you text field with a "" you need to try

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

But I think you don't need above process.


In short, just one line

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

Note

.val() use to set/ get value in text field. With parameter it acts as setter and without parameter acts as getter.

Read more about .val()

If you want to clear the text field, use:

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

Instead of all those:

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

What you need is:

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

In simple way, you can use the following code to clear all the text field, textarea, dropdown, radio button, checkbox in a form.

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

you can clear it by using this line

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

If you are using jQuery, then you can use this:

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

We can use this for text clear

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

For the most part you just set the .val() method. All of the answers are pretty accurate, just wanted to post my results to anyone who may need to set the value via the client id that gets rendered.

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

You are comparing doc_val_check with an empty string. You want to assign the empty string to doc_val_check

so it should be this:

doc_val_check = "";

Use jQuery.prototype.val to get/set field values:

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);

or

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

If you want to have element with visible blank text just do this:

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

Try using this :

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>

本文标签: javascriptClear text field value in JQueryStack Overflow