jQuery .each() with input elements

172,386

Solution 1

To extract number :

var arrNumber = new Array();
$('input[type=number]').each(function(){
    arrNumber.push($(this).val());
})

To extract text:

var arrText= new Array();
$('input[type=text]').each(function(){
    arrText.push($(this).val());
})

Edit : .map implementation

var arrText= $('input[type=text]').map(function(){
    return this.value;
}).get();

Solution 2

Assume if all the input elements are inside a form u can refer the below code.

 // get all the inputs into an array.

    var $inputs = $('#myForm :input');

    // not sure if you wanted this, but I thought I'd add it.
    // get an associative array of just the values.
    var values = {};
    $inputs.each(function() {
        values[this.name] = $(this).val();
    });

Solution 3

You can use:

$(formId).serializeArray();

Solution 4

$.each($('input[type=number]'),function(){
  alert($(this).val());
});

This will alert the value of input type number fields

Demo is present at http://jsfiddle.net/2dJAN/33/

Share:
172,386
Eae
Author by

Eae

I program in LISP for AutoCAD. Java for the Android OS and also in other misc. script languages.

Updated on March 14, 2020

Comments

  • Eae
    Eae over 4 years
    //save tablet
    jQuery("#savetablet"+jTablets[i].idtablets).on('click', function()
    {
        alert("alertsepy2...");
        console.log(jTablets[i].idtablets);
        jQuery("#tablet"+jTablets[i].idtablets+" .detailsrow").each(function( index ) {
            $(this).each(function( index2 ) {
                console.log($(this).html());
            });
        });
    });
    
    <div class="column0"><input type="text" value="-D"></div>
    <div class="column1"><input type="text" value="D"></div>
    <div class="column2"><input type="text" value="D"></div>
    <div class="column3"><input type="number" value="0"></div>
    <div class="column4"> <input type="number" value="0"></div>
    <div class="column5"> <input type="number" value="0"></div>
    <div class="column6"><input type="number" value="0"></div>
    <div class="column7"><input type="number" value="0"></div>
    <div class="column8"><input type="number" value="0"></div>
    <div class="column9"> <input type="number" value="0"></div>
    <div class="column10"> <input type="number" value=""></div>
    <div id="tablet17row0" class="column11">11</div>
    <div class="column0"><input type="text" value="-D"></div>
    <div class="column1"><input type="text" value="D"></div>
    <div class="column2"><input type="text" value="D"></div>
    <div class="column3"><input type="number" value="0"></div>
    <div class="column4"> <input type="number" value="0"></div>
    <div class="column5"> <input type="number" value="0"></div>
    <div class="column6"><input type="number" value="0"></div>
    <div class="column7"><input type="number" value="0"></div>
    <div class="column8"><input type="number" value="0"></div>
    <div class="column9"> <input type="number" value="0"></div>
    <div class="column10"> <input type="number" value=""></div>
    <div id="tablet17row1" class="column11">21</div>
    

    I have the above jQuery .each() that outputs the attached HTML to the console. In this case I want to extract the val() of only the input elements either of type text or type number. Is there some way to isolate just the input elements so I can get their values out into an array?

    Thanks in advance...