Ich versuche, Eingabewerte aus der Datenbank in Crud-Menüs abzurufen, die auf Bootstrap-Modalen und Datatables basieren. Mit der Texteingabe war es kein Problem - ich verwendet, um dieses abzurufen:Wie setze ich Werte von Json zu Checkboxen?
var data_row = table.row($(this).parents('tr')).data();
$("#edit_campagne").val(data_row.campagne)
.find('option[value=" + data_row.campagne +"]').attr('selected',
true);
Aber mit den Kontrollkästchen ist es komplizierter - ihre Werte werden als json gespeichert - wie folgt aus:
{% for target in targets %} // I'm using TWIG
<div class="checkbox">
<label>
<input class="animals_input" id = "{{ animals }}"
// this generate id for each checkbox
type="checkbox" value="0" name="animals_check[{{ animals
// this save values as Json - {"dogs":"1","cats":"1"}
}}]" >{{ animals }}
</label>
</div>
{% endfor %}
Also, wenn i retrive von DB sieht das Kontrollkästchen der Werte wie folgt aus (1 für aufgegebenes)
operation_target: "{" Hunde ":" 1" , "Katzen": "1"}“
Jetzt möchte ich setze diese Werte auf die So Kontrollkästchen durch ihre ID wird es wie folgt aussehen:
<div class="checkbox">
<label>
<input type="checkbox"
class="animals_input" value="0" id="dogs"
name="animals_check[]">Dogs // should be checked
</label>
</div>
Ich bin auf der Suche nach so etwas wie folgt aus:
$(".checkbox").val(id from db)
.find(id == id from db).prop('checked', true);
Hier ist ein Beispiel - plunker
Iceman, Rory McCrossan, Geo George - vielen Dank für die schnelle Antwort - all Ihren Vorschlag funktioniert - aber das Kontrollkästchen Daten ist erfrischend, nicht, wenn sie von einer Seite zur anderen vorbei .... wenn in einer Seite nur ein Kontrollkästchen aktiviert ist - wenn ich eine andere Zeile bearbeite - werden die Daten immer noch angezeigt .... – RoyBarOn
ok, wenn Sie die HTML ändern, dann müssen Sie die Funktion erneut ausführen – Iceman
Erzähl mir excatly, wie Seitenumbruch passiert , ist es Client-Seite mit Ajax? – Iceman