关于复选框值的javascript警报

时间:2015-06-25 12:48:27

标签: javascript php checkbox

我有复选框,其value属性来自database.I希望用户始终检查具有相同值的复选框,如果他没有然后使用javascript警告。我试图使用以下javascript代码但不使用

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

以下是checkbboxes的PHP代码

<?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>";
    }
?>

1 个答案:

答案 0 :(得分:1)

为每个复选框提供唯一ID,即使您没有使用它们。

注意:您的网页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>