2016-07-29 17 views
0

Ich weiß, das klingt vielleicht doppelte Fragen, aber keiner von ihnen funktioniert für mich. Bisher habe ich den Wert erhalten, aber ich möchte wissen, wie man den Ein/Aus-Wert von der Checkbox erhält. Ich habe versucht, versteckte Feld, aber ich kann nicht die 1/0-Wert von der Checkbox selbst. Alles was ich bekomme ist der Wert.Wie überprüft man die Boolesche Checkbox?

ist mein Code wie folgt

$(document).delegate('.sBorrow', 'change', function(){ 
      var sBorrowClass = $(this).attr('class'); 
      var sBorrowValue = $(this).attr('value'); 
      var sBorrowName = $(this).attr('name'); 

      if(sBorrowClass.checked = true){ 
       alert(sBorrowValue); 
       alert("unchecked"); 
      } 
      else{ 
       alert(sBorrowValue); 
       alert(sBorrowClass); 
      } 

Für die Checkbox Form wie dieses

ist
foreach($r as $row){ 
      $sBorrow = $_SESSION['sBorrow']; 

      echo "<tr align='center'><td>". ($startrow+1) ."</td><td>". $row['matricno'] ."</td><td>". $row['studentname'] ."</td><td>". $row['programme'] ."</td><td>". $row['title'] ."</td><td>". $row['thesis_level'] ."</td><td>". $row['serialno'] ."</td><td>". $row['bavailable'] ."</td><td> 
      <form method='post'> 
      <input type='checkbox' name='sBorrow' id='sBorrow' class='sBorrow' value='". $row['serialno'] ."'> 
      <input type='hidden' name='sBorrow' value=0 /> 
      </form></td></tr>"; 
      $startrow++; 
      //echo $row['education_level']; 

und Fragen 2 .. auch, wie mein Checkbox machen bleibt aktiviert, wenn der Benutzer für mehr Benutzer Daten nach dem Check-Box (Livesearch Ajax). Sollte ich localStorage oder SESSION verwenden, um den Wert bis zur Benutzeraktualisierung zu speichern?

+0

'=' ist der Zuweisungsoperator, nicht die Vergleiche, die '==' oder '===' sind. –

+0

Oh mein Schlechter ich hatte gehofft es zu lösen aber nein. es geht immer noch zu anderen Bedingungen, auch wenn ich das Kontrollkästchen aktiviert oder deaktiviert – AhKing

+1

Oh, ich habe nicht bemerkt, aber Sie bekommen ein Attribut, nicht das Element. –

Antwort

1

Das Problem ist, dass attr('string') den Attributwert als String zurückgibt, der keine Eigenschaft checked hat. Sie können this.checked verwenden:

if(this.checked) { 
    //Checkbox is checked 
} 

Ich hoffe, das wird Ihnen helfen.

+0

Ja, es funktioniert. Vielen Dank. Ihr und Spencer Wieczorek haben dafür das Verdienst. – AhKing