Barksalot: Verständnissfrage

Beitrag lesen

Hallo dedlfix,

hier mal mein Ergebnis

<?php foreach($ToDoListeAusagabe as $array){ ?>
<div>
  <label>
   <input type="checkbox" 
          data-id="<?php echo htmlspecialchars($array['pt_id']); ?>" 
          class="todo" name="code[]" 
          value="<?php echo htmlspecialchars($array['pt_status']); ?>" 
          <?php if ($array['pt_status'] == 1) { ?> checked  <?php } ?>>
   <span <?php if ($array['pt_status'] == 1) { ?> class="done" <?php } ?>>
   <?php echo htmlspecialchars($array['pt_titel']); ?>
   </span>
 </label>
</div>
<?php } ?>

Hier noch der Js Code

$(document).ready(function() { 
	
	$('.todo').click(function() {

		if($("input:checked")){
			$(this).next('span').addClass("done");
		}
		
		$( "input:not(:checked) + span" ).removeClass("done");

		if ($(this).val() == 0) {
			
			var status = 1;
		
		} else {
			
			var status = 0;
		}

		var formData = {
      'todo': status,
			'id':   $(this).data("id")	
    };

		$.ajax({
			
			url:  "updateToDo.php",
			type: "post",
			data: formData,
		 
			success:function(d) {
		  		
			}
		});
    }); 
});

Jetzt noch zum Thema https://forum.selfhtml.org/self/2018/sep/25/bei-klick-auf-checkbox-update-ausfuehren-und-text-durchstreichen/1732828#m1732828

Wie kann ich während dem Update die Checkbos deaktivieren und ist dieses bei einer Checkbox wirklich nötig? Ich meine so ein Update geht keine Sekunde.

Zum Thema durchstreichen bzw. nicht durchstreichen. Dieses kann ich bereits vor dem Update erledigen, selbst wenn etwas fehlschlägt, wird der Text beim neuladen einfach nicht geändert? Die tatsächliche Prüfung mache ich ja an dieser Stelle:

<?php if ($array['pt_status'] == 1) { ?> checked  <?php } ?>

Hätte ich denn die Möglichkeit einen Datensatz der gerade bearbeitet wurde, direkt danach zu aktualisieren ohne die Seite neu laden zu müssen? Ist dieses technisch möglich?

Und benötige ich überhaupt die success:function?

Bis bald!
Bernd