2017-06-12 2 views
2

Die Funktion prüft abhängig vom Wert ein Eingabefeld.Dynamische Übergabe eines Wertes über eine Schaltfläche

Es funktionierte richtig, bis ich versuchte, den Wert "dynamisch" durch die Taste zu übergeben. Ich vermisse etwas, kann aber nicht sehen, was es ist.

function fill(value_id) 
{   
    $('input[type=checkbox][value='value_id']').prop('checked', true); 
} 


<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div> 

Alle Erläuterungen zur Lösung sind willkommen.

Antwort

2

ändern

$('input[type=checkbox][value='value_id']').prop('checked', true); 
          ^ ^
           Syntax Error 

Um

$('input[type=checkbox][value="'+ value_id + '"]').prop('checked', true); 

Sie Syntaxfehler bekam

+1

Vielen Dank nutzen! Ich habe 'console.log ("fill()" eingegeben) um zu sehen, ob zumindest ich die Funktion ... eingegeben habe und die Verkettung nicht bemerkt habe ... – Qu4k3

1

Sie müssen die Konsole auf Fehler überprüfen. Achten Sie auf die Concatanation und Zitate, wenn Sie versuchen, dem Wert zu entkommen. Dies sollte den Trick

function fill(value_id) { 
 
    $('input[type=checkbox][value="' + value_id + '"]').prop('checked', true); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div>

+1

Danke für deine schnelle Antwort! Habe die Verkettung nicht bemerkt ... – Qu4k3

1

Sie sollten + verwenden (verketten) Operator-String und Variable verketten.

$('input[type=checkbox[value='+value_id+']').prop('checked', true); 

function fill(value_id) 
 
{   
 
    $('input[type=checkbox[value='+value_id+']').prop('checked', true); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div>

+0

Danke für deine Erklärung! Fehlt etwas sehr Grundlegendes ... – Qu4k3

1

Sie fehlen hinzufügen Plus (+) zwischen variablen und String. Sie können diese Schnipsel

function fill(value_id) { 
 
    $('input[type=checkbox][value=' + value_id + ']').prop('checked', true); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div> 
 

 

 
<input value="12-12" type="checkbox"></input>

Verwandte Themen