2015-06-25 5 views
0

У меня есть флажки, атрибут значения которого поступает из базы данных. Я хочу, чтобы пользователь всегда проверял флажки с одинаковым значением, если он не предупреждает об этом с помощью javascript.I пытался сделать это, используя следующий код javascript но никакой пользыjavascript alert on checkbox value

<script> 
    function ck() 
    { 
     var x,item,f; 
     list=document.getElementById("yo"); 
     f=list[0].value; 
     for(index=1;index<list.length;++index) 
     { 
      item=list[index]; 
      x=item.value; 
      if(x!=f) 
      { 
       alert("Wrong type checkboxes selected!"); 
       break; 
      } 
     } 
    } 
</script> 

Ниже не является PHP код checkbboxes

<?php 
    $flag1=-1; 
    $conn = mysqli_connect("localhost", "root","","discvr"); 
    if(! $conn) 
    { 
     die('Could not connect: ' . mysql_error()); 
    } 

    for($i = 0; $i < 150; $i++) { 
     echo "<tr>"; 
     $cur_date=date("Y-m-d"); 
     echo "<td>Noida Sector ".($i+1)."</td>"; 
     $location="Noida Sector ".($i+1); 
     for($j=1;$j<=8;$j++) 
     { 
      $time_id=$j; 
      $sql="select status from final where location = '$location' AND date='".$cur_date."' AND time_id=$time_id"; 
      $query=mysqli_query($conn,$sql); 
      if(!$query) 
      { 
       $status=0; 
       echo "Hi"; 
      } 
      else 
      { 
       if($row=mysqli_fetch_array($query)) 
       { 
        //echo "hi"; 
        $status=$row['status']; 
       } 
       else 
        $status=0; 
       //echo $time_id; 
      } 
      if($i==0) 
       echo "<td><input type='checkbox' id='yo' name=time[] value=".$j." value='".$status."' onclick='ck()' > $status </td>"; 
      else 
       echo "<td><input type='checkbox' id='yo' name=time".$i."[] value=".$j." value='".$status."' onclick='ck()' >$status</td>"; 
     } 

     echo "</tr>"; 
    } 
?> 
+0

какие проблемы вы получаете именно? – Amy

+0

Я не получаю предупреждение, когда я устанавливаю флажки, которые не имеют равных значений. Где я должен получить предупреждение –

+0

Все ваши флажки имеют одинаковый идентификатор. Настройте его как-то, например 'echo ' $ status ";' – AmBeam

ответ

1

дают уникальные идентификаторы для каждого флажком даже вы не используете их.

Примечание: на вашей странице id должен быть уникальным.

попробовать так:

использовать соединение и другое это, для демонстрации.

<?php 


    for($i = 0; $i < 150; $i++) { 
     echo "<tr>"; 
     $cur_date=date("Y-m-d"); 
     echo "<td>Noida Sector ".($i+1)."</td>"; 
     $location="Noida Sector ".($i+1); 
     for($j=1;$j<=8;$j++) 
     { 

      if($i==0) 
       echo "<td><input type='checkbox' id='yo$i' name=time[] value=".$j." value='".$status."' onclick='ck(this.value)' > $status </td>"; 
      else 
       echo "<td><input type='checkbox' id='yo$i' name=time".$i."[] value=".$j." value='".$status."' onclick='ck(this.value)' >$status</td>"; 
     } 

     echo "</tr>"; 
    } 
?> 

JavaScript:

<script> 
    function ck(value) 
    { 
     var x,item,f; 
     list= document.getElementsByTagName("input"); 
     f=value; 
     console.log(f); 
     for(i=1;i<list.length;++i)//change your logic here don't know what you are trying here 
     { 
      item=list[i]; 
      x=item.value; 
      if(x!=f) 
      { 
       alert("Wrong type checkboxes selected!"); 
       break; 
      } 
     } 
    } 
</script>