2017-04-27 6 views
-2

Ich weiß, dass es Tonnen von Antworten auf diese Frage gibt und alle Antworten gleich sind. Ich möchte eine Variable an einen Selektor übergeben. Zum BeispielVariable an Selektor übergeben

var item = 'size_{{$item->size}}'; 
$("input[name="+item+"]").change(function() { 
    console.log('got it'); 
}); 

sagen Lassen

{{$item->size}} == M // So the var item ='size_M' 

Dieser Abstand Code OK tut. Es gibt kein Problem in der Elementvariablen. Aber im Selektor, anstatt size_M zu erhalten, erhält es die Elementzeichenfolge selbst.

enter image description here

+0

Sie müssen möglicherweise furt Sie begrenzt den Attributwert in Anführungszeichen wie folgt: '$ (" input [name = '"+ item +' ']") '. Dies liegt daran, dass Ihr Wert nicht-alphanumerische Zeichen enthält (ein Unterstrich). – ne1410s

+0

@ ne1410s Ich habe das auch versucht, aber das gleiche Ergebnis –

+0

@ ne1410s Können Sie die Dokumente für die gleichen? Denn offizielle Dokumente haben das nie erwähnt –

Antwort

1

eigentlich muss ich diese Dynamik dort machen kann viele Größen wie size_M, size_xxl, size_S und so weiter

in diesem Fall alles, was Sie brauchen, ist

https://api.jquery.com/attribute-starts-with-selector/

$("input[name^='size_']").change(function() { 
    console.log('got it'); 
}); 
+0

Sie brauchen keine Anführungszeichen *an sich*; nur dort, wo es ein nicht alphanumerisches Zeichen gibt. – ne1410s

+0

https://jsfiddle.net/mLfu79mw/ –

+1

@ RokoC.Buljan Sie sind richtig. Ich habe es einfach überprüft. # ne1410s Ohne Anführungszeichen auch alphanumerisch und _ funktioniert gut. Nur wenn es spezielle Zeichen gibt, schlägt es fehl –

Verwandte Themen