web-dev-qa-db-fra.com

jQuery .each () avec des éléments en entrée

//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>

J'ai le jQuery .each () ci-dessus qui sort le HTML attaché à la console. Dans ce cas, je veux extraire le val () des éléments d’entrée, de type text ou number. Existe-t-il un moyen d'isoler uniquement les éléments d'entrée afin que je puisse obtenir leurs valeurs dans un tableau?

Merci d'avance...

22
Eae

Pour extraire le nombre:

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

Pour extraire du texte:

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

Modifier : .map la mise en oeuvre

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

Supposons que si tous les éléments en entrée sont à l'intérieur d'un formulaire, vous pouvez vous reporter au code ci-dessous.

 // 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();
    });
3
SivaRajini
$.each($('input[type=number]'),function(){
  alert($(this).val());
});

Cela alertera la valeur de input type number des champs

La démo est présente à http://jsfiddle.net/2dJAN/33/

1
vinothini

Vous pouvez utiliser:

$(formId).serializeArray();
0
Lê Văn Chiến