2013-05-17 16 views
17
//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> 

Ich habe die obige jQuery .each(), die den angehängten HTML-Code an die Konsole ausgibt. In diesem Fall möchte ich das val() nur der Eingabeelemente vom Typ text oder type number extrahieren. Gibt es eine Möglichkeit, nur die Eingabeelemente zu isolieren, damit ich ihre Werte in ein Array bekommen kann?jQuery .each() mit Eingabeelementen

Vielen Dank im Voraus ...

Antwort

32

Nummer extrahieren:

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

zu extrahieren Text:

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

Edit: .map Implementierung

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

Gehen Sie davon aus, dass sich alle Eingabeelemente in einem Formular befinden, auf das Sie den unten stehenden Code beziehen können.

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

Dies wird den Wert von input type number Felder

Demo ist bei http://jsfiddle.net/2dJAN/33/

vorhanden alarmieren