2016-04-22 12 views
0

Wie erhalte ich den Wert eines Bootstrap TouchSpin Elements in einer Tabelle? Ich bekomme derzeit nichts, da ich nicht glaube, dass es das Element findet.So erhalten Sie den Wert von TouchSpin in der Tabelle

Erstellung des touchspin und Einfügen in die Tabelle

var table = document.getElementById("createOrderTable"); 
var rowCount = table.rows.length; 
var row = table.insertRow(rowCount); 
row.id = 'row' + rowCount; 

// TouchSpin element 
var cell1 = row.insertCell(1); 
var touchSpinID = 'touchspin' + rowCount; 
cell1.innerHTML = "<input id='" + touchSpinID +"' type='text' value='1' name='" + touchSpinID +"'>"; 
cell1.id = 'cell' + touchSpinID; 

//Init TouchSpin 
$("input[name='" + touchSpinID +"']").TouchSpin({ 
verticalbuttons: true, 
min: 0, 
max: 100000000, 
}); 

Iterieren durch die Tabelle und den Wert des Touchspin bekommen, weder Methode unten funktioniert.

var table = document.getElementById("createOrderTable"); 
var rowCount = table.rows.length; 
var productArray = []; 

for(i = 1; i < table.rows.length; i++){ 
    var touchspinID = 'touchspin' + i; 
    var touchspinValue = 0;   
    cellID = 'cell' + touchspinID; 

    $(cellID).find(touchspinID).each(function(){ 
     touchspinValue = this.val(); 
     console.log(touchspinValue); 
    }); 

    $("#createOrderTable tr").each(function() { 
     $('td', this).each(function() { 
      var value = $(this).find(touchspinID).val(); 
      console.log(value); 
     }) 
    }) 
} 
+0

Wie sieht Ihr HTML aus? Können Sie ein Beispiel-Snippet anzeigen? – Yass

Antwort

1

an Ihrem Code Sehen, ich glaube, das Problem liegt bei touchspinID und cellID, dass sie beide die ‚#‘ fehlen, um anzuzeigen, dass Sie mit diesen spezifischen id s für Elemente suchen.

Änderung dieser zwei Zeilen aus:

var touchspinID = 'touchspin' + i; 
cellID = 'cell' + touchspinID; 

zu:

var touchspinID = '#touchspin' + i; 
cellID = '#cell' + touchspinID; 

Ihr Problem beheben sollte. Auch brauchen Sie nicht .each nach dem Aufruf von .find zu verwenden, da die Zelle immer nur ein „touchspin“ Element haben und id s muss immer eindeutig sein:

var touchspinValue = $(cellID).find(touchspinID).val(); 
console.log(touchspinValue); 

Wenn die oben nicht löst Ihre Problem, fügen Sie die Tabelle html in Ihre Frage ein.

Verwandte Themen