2017-03-07 1 views
1

Ich bekomme Werte zu meiner HTML-Tabelle mit Java-Skript. Dann möchte ich überprüfte Checkbox-Werte an meinen Server zurückgeben. Die folgende Skriptfunktion liefert jedoch immer ein leeres ausgewähltes Array.Auswählen von überprüften Werten von Kontrollkästchen

function find() { 

    var dataObject = {}; 
    var selected = []; 
    var i; 

    $('input[type="checkbox"]:checked').each(function() { 
     selected.push($(this).val()); 
    }); 

    for (var i = 0, len = selected.length; i < len; i++) { 
     dataObject['id' + (i+1)] = (selected[i]); 

    } 

Hier ist die empfangene html

Werte
<td> 
    <input type="checkbox" tr.id="0" value="0"> 
</td> 
+0

, wo Sie die find() Funktion aufrufen? – vel

Antwort

1

$(":checkbox").change(function() { 
 
    var dataObject = {}; 
 
    var selected = []; 
 
    var i; 
 
    $('input[type="checkbox"]:checked').each(function() { 
 
    selected.push($(this).val()); 
 
    }); 
 

 
    //for (var i = 0, len = selected.length; i < len; i++) { 
 
    // dataObject['id' + (i + 1)] = (selected[i]); 
 

 
    //} 
 
    console.log(selected) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" tr.id="0" value="0"> 
 
    </td> 
 
    </tr> 
 
</table>

Sie die Funktion nicht aufrufen. Fügen Sie den Ereignishandler in das Kontrollkästchen ein und drücken Sie dann die Daten im Array

0

Versuchen Sie Folgendes.

function findcheck() { 

      var selected = []; 

      $('input[type=checkbox]').each(function() { 
       var $this = $(this); 

       if ($this.is(':checked') == true) { 
        selected.push($this.val());   
       } 

      }); 

     } 

findcheck(); 

fiddlelink

Verwandte Themen