Barksalot: Verständnissfrage

Beitrag lesen

Hallo,

irgendwie habe ich ein Denkfehler in meinem Code

<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>

In value steht ja immer der Wert drin, den ich aus meiner Datenbank auslese. Im aktuellen Fall eine 0.

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

Hier frage ich den Wert ab, der im value steht, in diesem Fall wieder 0. Wenn ich den Krempel jetzt zur Datenbank schicke, übergebe ich auch wieder 0. Müsste es nicht irgendwie lauten, wenn eine 0 im value steht, übergebe ich eine 1 wenn eine 1 im value steht, übergebe ich eine 0? Denn ich wunderte mich, warum in der DB nichts ankommt. In Wirklichkeit kommt schon etwas an nur immer der gleiche Wert.

EDIT: Ich habe es jetzt so gelöst, ist dieses der richtige Weg?

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

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

Bis bald!
Bernd