Невозможно опубликовать значения нескольких флажков, созданных в форме в то время как цикл - PullRequest
0 голосов
/ 30 октября 2018

Возможно, мой вопрос задавался много раз, но я пока не смог применить данные решения в своем проекте

Я пытаюсь установить флажки только для выбранных детей, а не для родителей

код моей страницы:

     <?php  $db = mysqli_connect('localhost', 'root', '123', 'test'); ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml">

     <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <script src="jquery.min.js"></script>
     <script src="cbFamily.js"></script>
     </head>

    <body>
    <form name="myform" method="post" action="test.php">
     <section class="demo2" style="margin-top:2px;">

     <?php
     $query=mysqli_query($db,"SELECT * FROM tblmainjobs");

     while ($row = mysqli_fetch_assoc($query)):
     ?>
    <section>
    <h3><label><input type="checkbox" /> <?php echo $row["mainjob"]; ?> 
    </label></h3>

    <?php 
    $query2=mysqli_query($db,"SELECT userjob FROM users WHERE 
    '".$row["mainjob"]."' = users.mainjob GROUP BY users.userjob");
    while ($row2 = mysqli_fetch_assoc($query2)):
    ?>
    <div class="children">
    <label><input type="checkbox" name="checkbox" value="<?php echo 
    $row2["userjob"]; ?>"/> <?php echo $row2["userjob"]; ?></label>       

    <?php endwhile; ?>

    </section>

    <?php endwhile; ?>

    <script type="text/javascript">  <!-- this function for selecting all 
    children checkboxes once the parents checkbox bieng selected -->
    $("h3 input:checkbox").cbFamily(function (){
    return $(this).parents("h3").next().find("input:checkbox");
    });
    </script>

    </section>  

    <br>
    <div><input class="submit" type="submit" name="submit" value="submit"/> 
    </div>
    </form>

    </body>
    </html>

моя страница выглядит так test.php

весь мой проект прилагается здесь https://www.sendspace.com/file/6ikcaa

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Использовать массив:

<input type="checkbox" name="checkbox[]" value="<?php echo 
$row2["userjob"]; ?>"/> <?php echo $row2["userjob"]; ?>

обратите внимание на [] в атрибуте имени.

0 голосов
/ 30 октября 2018

Вы можете использовать javascript, чтобы отключить «родительские» флажки, прежде чем они будут опубликованы на сервере.

Добавьте класс к своим родительским флажкам, чтобы сделать простой селектор jquery:

<input type="checkbox" class="parent" />

Затем некоторые JavaScript, чтобы отключить флажки:

$(".parent").prop("disabled",true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...