Mit Bootstrap 3.3.6 JQuery 1.11.3Javascript-Checkbox-Funktion arbeitet nur einmal
Ich bin mit einem kleinen Abschnitt ein Problem hat, speziell in Bezug auf die Auswahl und eine Checkbox, wenn der Benutzer klickt auf die Zeile deaktivieren.
jsfiddle hier: http://jsfiddle.net/0ogdt9s7/1/
html
<div id="not-working">
<h3>
Click the text, then click the box
</h3>
<div class="selection-row" data-id="20">
<div class="col-md-5">Data 20</div>
<div class="col-md-2">
<input type="checkbox" name="selectedDudes[]" value="20" id="checkbox-20">
</div>
</div>
<div class="selection-row" data-id="22">
<div class="col-md-5">Data 22</div>
<div class="col-md-2">
<input type="checkbox" name="selectedDudes[]" value="22" id="checkbox-22">
</div>
</div>
</div>
js
$(document).ready(function() {
$(document).on("click", "div.selection-row", function() {
var $cb = $('input[type="checkbox"]', $(this)), is_on = $cb.prop('checked');
if (is_on) {
//if its already checked, uncheck it
$cb.prop('checked', false);
} else {
//if its not checked, check it
$cb.prop('checked', true);
}
});
});
Die Zeilenauswahl funktioniert gut, aber wenn Sie in der Zeile auf das Kontrollkästchen klicken, wird der Kontrollkästchen ändert sich nicht. Wenn Sie auf "Daten" klicken, wird es korrekt geändert, aber das Kontrollkästchen macht nichts.
Wichtig zu beachten:
es in $(document).on()
wohnen muss, weil dies in einem Pop-up ist, das durch AJAX angezeigt wird.
Ich nehme an, das ist etwas sehr einfaches, aber ich kann es einfach nicht finden. Jede Hilfe wird geschätzt.
Was ist, wenn Sie 'Onclick = "return false"', um das Kontrollkästchen Eingabe hinzufügen geschieht es zu stoppen reagieren zum onclick-Ereignis. Ich frage mich nur, ob sowohl die Zeilen- als auch die Eingabe-Klickereignisse auslösen, indem Sie das Kontrollkästchen aktivieren oder deaktivieren und dann mit einem Klick aktivieren. –
scheint es nicht zu beeinflussen: http://jsfiddle.net/0ogdt9s7/5/ –