Ali
Ali

Reputation: 267307

How to select all textareas and textboxes using jQuery?

How can I select all textboxes and textareas, e.g:

<input type='text' />

and

<textarea></textarea>

on a page and have the property style.width="90%"; applied to them?

Upvotes: 59

Views: 152034

Answers (5)

Roko C. Buljan
Roko C. Buljan

Reputation: 206669

Simply use $(":input")

Example disabling all inputs (textarea, input text, etc):

$(":input").prop("disabled", true);
<form>
  <textarea>Tetarea</textarea>
  <input type="text" value="Text">
  <label><input type="checkbox"> Checkbox</label>
</form>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

Upvotes: 0

muni
muni

Reputation: 1360

names = [];
$('input[name=text], textarea').each(
    function(index){  
        var input = $(this);
        names.push( input.attr('name') );
        //input.attr('id');
    }
);

it select all textboxes and textarea in your DOM, where $.each function iterates to provide name of ecah element.

Upvotes: 1

Rob
Rob

Reputation: 3066

$("**:**input[type=text], :input[type='textarea']").css({width: '90%'});

Upvotes: 1

roryf
roryf

Reputation: 30170

$('input[type=text], textarea').css({width: '90%'});

That uses standard CSS selectors, jQuery also has a set of pseudo-selector filters for various form elements, for example:

$(':text').css({width: '90%'});

will match all <input type="text"> elements. See Selectors documentation for more info.

Upvotes: 143

Tobias Baaz
Tobias Baaz

Reputation: 1880

Password boxes are also textboxes, so if you need them too:

$("input[type='text'], textarea, input[type='password']").css({width: "90%"});

and while file-input is a bit different, you may want to include them too (eg. for visual consistency):

$("input[type='text'], textarea, input[type='password'], input[type='file']").css({width: "90%"});

Upvotes: 14

Related Questions