2016-04-19 7 views
0

Ich habe damit für die letzte Stunde gespielt, aber kann es einfach nicht funktionieren.Jquery - Erstelle dynamischen Namen-Selektor

Ich habe eine reactJS-Komponente, die ein Gitter rendert. Nachdem das Raster gerendert ist, muss ich etwas an der Komponente arbeiten.

Es gibt einige Kontrollkästchen, die überprüft werden müssen. Nachdem das DOM verfügbar ist, wenn ich dies in der Konsole ausführen:

$('[name="checkbox0"]').prop('checked', true); 

Es funktioniert super.

Ich muss meine Objekte iterieren und basierend auf der Bedingung überprüfen oder nicht.

Meine Frage ist, wie man den Selektor dynamisch macht? Wie kann ich checkbox0 dynamisch machen, so kann ich es auf checkbox1 gesetzt, checkbox5 ... etc.

Dies ist mein letzter Versuch, das Problem zu lösen, und es hat nicht funktioniert:

this.state.rows.forEach(function (index, key, value){ 
     var test = "'[name=" + "checkbox" + key + "]'" ; 

     if(index.selected){ 
      //$('[name="checkbox0"]').prop('checked', true); 
      $(test).prop('checked', true); 
     } 
    }); 
+0

'var test = '[name =" checkbox' + key + '"]';' - Ihr Selektorformat ist falsch –

+0

Das hat den Trick gemacht. Bitte antworte, damit ich es annehmen kann :) Danke –

Antwort

2

Sie sind versuchen, ein Attributselektor zu verwenden, aber die Syntax ist weg in dem dynamischen String

var test = '[name="checkbox' + key + '"]' 

Sie die gesamte Zeichenfolge wickeln mit einem "", wo es nur für den Attributwert

haben sollte
Verwandte Themen