# JQuery Checkbox abfrage



## UnoDosTres (1. Februar 2012)

Hallo,

Ich habe ein Formular dessen Daten mit PHP in eine Datenbank geschrieben werden sollen Insbesonder auch der Status der Checkbox. Diese habe ich mittels JQuery und diesem Replacement realisiert: http://www.protofunc.com/scripts/jquery/checkbox-radiobutton/

Im Code passiert das:

```
<script type="text/javascript">
            $(function(){
            	$('input').checkBox({addVisualElement: false});
			});
 </script>
```


```
<div><input id="c1" type="checkbox"/> <label for="c1">Automatische Nummer verwenden</label></div>
```

Wenn das Formular abgeschickt wird soll der CheckBox Status ermittelt werden und je nachdem welcher Status checked/notchecked soll mit PHP eine 1 oder 0 in die endsprechende Tabelle geschrieben werden.

Wie kann ich den Staus bestimmen und an PHP übergeben?

Und auch der umgekerte Weg?
(Beim anzeigen des Formular holt es vorhandene Werte aus der Datenbank)
Also wie übergebe ich eine PHP Variable an JS und lasse die Checkbox checken oder unchecken?


----------



## geheim (1. Februar 2012)

Hi,

ob replacement oder nicht  solange du elemente vom typ checkbox 

```
<input id="c1" type="checkbox"/>
```
hast kannst du diesen mit value einen Wert zuweisen. 

Die einfachste Möglichkeit für deine Anforderung wäre jeder checkbox ein value="1" zugeben und im PHP-Script dann zu prüfen ob der Parameter gesetzt ist und der Wert 1 ist. 
Wenn nicht schreibst du eine 0 in die Datenbank

Bsp: 

```
<input id="c1" type="checkbox" value="1" />
```


```
if(isset($_POST['c1']) && $_POST['c1']=="1"){
   //schreibe 1 in die datenbank
}
else
{
  //schreibe 0 in die datenbank
}
```


----------



## UnoDosTres (1. Februar 2012)

Hi,

scheint bei diesem Replacement wohl anders zu sein, denn ein VALUE="1" oder "0" zeigt keinerlei Wirkung.


----------



## abstractizm (2. Februar 2012)

Hi.


```
.attr('checked') == 'checked'
```

http://jsfiddle.net/uZC8Z/


----------



## javaDeveloper2011 (2. Februar 2012)

Hi UnoDosTres,

übergeben an PHP ist kein Problem (läuft so gut wie Automatisch)

// seite.php

```
<form method="post" action="naechteSeite.php">
      <input id="c1" name="c1" type="checkbox" />
      <input type="submit" value="Senden" />
</form>
```
nen Value haben Checkboxen nicht. 
Das ganze jQuery spielt für PHP und auch an sonsten eigentlich überhaupt keine Rolle!

Weil der input *name="c1"* hat, kannst du in PHP (naechteSeite.php) so darauf zugreifen:

```
isset($_POST['c1'])
```
...giebt true zurück falls die Chackbox angetickt war, sonst false.

Wenn du die seite.php erstellst, und in der datenbank true bzw. 1  (ist in SQL das gleiche) gespechert ist, fügst du einfach noch *checked="checked"* als Attribut des INPUT-Tags hinzu.

// seite.php (falls Datenbank-Wert 'true')

```
<form method="post" action="naechteSeite.php">
      <input id="c1" name="c1" type="checkbox" checked="checked" />
      <input type="submit" value="Senden" />
</form>
```

javaDeveloper2011


----------



## abstractizm (2. Februar 2012)

Checkboxen haben keinen Value?
http://de.selfhtml.org/html/formulare/auswahl.htm#checkboxen


----------



## UnoDosTres (2. Februar 2012)

Habe es hinbekommen das jetzt der Wert in der DB ausgelesen wird und endsprechend im Formular der Haken gesetzt wird.
Jetzt mache ich mich daran das alles wieder zu speichern


----------



## geheim (3. Februar 2012)

Hey sorry hab mir das script nicht genau angeschaut, dachte, dass das setzen des attributs checked= “checked“ standardmäßig vom js übernommen wird. Funktioniert jetzt alles?

@javaDeveloper2011: das checkboxen kein  haben sollen wäre mir auch neu: http://www.w3schools.com/jsref/dom_obj_checkbox.asp


----------



## UnoDosTres (3. Februar 2012)

Ja soweit klappt. Jetzt muß ich nur noch den aktuellen Status der Box irgendwie auslesen und an PHP übergeben.


----------



## javaDeveloper2011 (3. Februar 2012)

Hi,

liegt der Checkbox-Input in einem form und ist der name gesetzt, so ist im php-script das geladen wird eine Variable gesetzt, sonst nicht. Das kannst du abfragen und in die DB schreiben.

Das hab ich in Post #5 erklärt, was funktioniert dabei denn nicht?

Gruß javaDeveloper2011


----------

