2016-07-29 71 views
0

我知道这听起来可能是重复的问题,但他们都不适合我。到目前为止,我所做的是获得价值,但我想知道如何从复选框获取开/关值。我试过隐藏的领域,但我不能从复选框本身得到1/0值。我得到的只是价值。如何检查复选框的布尔值?

我的代码是这样的

$(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); 
      } 

对于复选框的形式是这样的

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']; 

和问题2 .. 还怎么让我的复选框选中保持当用户搜索更多数据检查后复选框(Livesearch Ajax)。我应该使用localStorage还是SESSION将值存储起来,直到用户刷新?

+0

'='是赋值运算符,而不是'=='或'==='的比较。 –

+0

哦,我不好,我希望它解决它,但没有。即使当我选中或取消选中时,它仍然会出现其他条件 – AhKing

+1

哦,我没有注意到,但是您得到的是属性,而不是元素。 –

回答

1

问题是,attr('string')将返回属性值作为字符串,它没有属性checked。您可以使用this.checked

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

我希望这会对您有所帮助。

+0

是的,它确实有效。谢谢。你和斯宾塞Wieczorek得到了这个荣誉。 – AhKing

相关问题