根据点击的复选框显示价值?

时间:2013-08-09 06:35:41

标签: php jquery

我是PHP和jquery的新手

有两个表

maincategory

tagId    tagName

4        Gadgets
5        History  
3      Mathematics  
1       Science   
2        Social

subcategoryone

subOneTagId tagid subOneTagName
1             1    Inventions
2             2    Discoveries
3             1    Timeline
子类别表中的

tagid与maincategory中的tagId相同。

这是我的PHP代码提取主要的catergory

<?php 
$res=mysqli_query($con,"select * from maincategory order by tagName") or die("error");
while($row=mysqli_fetch_array($res))
{
   echo "<input type='checkbox' value='".$row['tagId']."' name='tags[]' id='tag".$row['tagId']."'>   
   <label for='tag".$row['tagId']."'>".$row['tagName']."</label><br>";
}?>

这是基于在主类别中选中的tagId获取子类别表的同一个php页面中的另一个代码

`

<?php
  $res=mysqli_query($con,
 "select * from subcategoryone order by subOneTagName where tagid='tag".$row['tagId']) 
  or die("error");
 while($row=mysqli_fetch_array($res))   {
    echo "<input type='checkbox' value='".$row['subOneTagId']."' name='subtags[]' 
        id='subtag".$row['subOnetagId']."'> 
        <label for='subtag".$row['subOneTagId']."'>".$row['subOneTagName']."</label><br>";
 }
 ?>

问题是子类别表最初是隐藏的。子类别表是您在上面的PHP代码中看到的一组复选框。子类别表(最初隐藏)应根据maincategory中的checked复选框显示值。所以这应该在不刷新页面的情况下发生。因为maincategory和subcategory查询都在同一页面中。

更准确地说,当我在maincategory中检查Science时,只显示表子类别中的Inventions和Timeline(参见上表)。

2 个答案:

答案 0 :(得分:1)

感谢您为我付出的努力。

在这里我找到了答案。我的JS就在这里。

<script type="text/javascript">
    function showSubCategories(element)
    {
    }
    $(document).ready(function(){
        $('.mainCategory label,.mainCategory input').click(function(){
            var parentDiv = $(this).parents('div:first');
            var tagId = parentDiv.attr('tag-id');
            if(parentDiv.children('input:first').prop('checked') == true)
            $('.subCategoryOne div.tag-id-'+tagId).css('display','block');
            else
            $('.subCategoryOne div.tag-id-'+tagId).css('display','none');
        });
    });
</script>

然后我重写了子类别表。

<td>
    <?php $res=mysqli_query($con,"select * from subcategoryone order by subOneTagName") or die("error");
                                        while($row=mysqli_fetch_array($res))
                                        {
                                            echo "<div class='tag-id-".$row['tagId']."'><input class='main-tag-".$row['tagId']."' type='checkbox' 
                                                         value='".$row['subOneTagId']."'
                                                         name='subtags[]' 
                                                         id='subtag".$row['subOneTagId']."'> 
                                                  <label class='main-tag-".$row['tagId']."' for='subtag".$row['subOneTagId']."'>
                                                        ".$row['subOneTagName']."</label></div>";
                                        }?>
                                    </td>

答案 1 :(得分:0)

如果您想要它而不刷新页面,您应该查看AJAX(使用Jquery)http://api.jquery.com/jQuery.ajax/