2016-11-09 33 views
1

checkbox.php未选中选中的复选框。为什么?

<body> 

<form> 

    <label> 
    <input type="checkbox" value="1" name="name">fruits</label> 
    <label> 
    <input type="checkbox" value="2" name="name">vegitables</label> 

</form> 

<!--modal--> 
<div id="myModal" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">Modal Header</h4> 
     </div> 
     <div class="modal-body"> 

     </div> 
     <div class="modal-footer"> 
     <button type="submit" class="btn btn-default" id="submit" onclick="submit();">save</button> 
     <h4 id="result"></h4> 

     </div> 
    </div> 
    </div> 
</div> 



</body> 

以上是我主要的两个复选框。当我点击复选框时会出现一个模式。在其上显示来自数据库的动态复选框(子复选框)。当我点击模态上的子复选框,然后点击提交。警报弹出没有值。我需要做的是将复选框的值勾选为alert。谁能帮我?

这里是我的checkbox.js

$(document).ready(function(){ 
    $("input[type=checkbox][name=name]").change(function(){ 
    if(this.checked) { 

     var value = $(this).val(); 
     $.ajax({ 
      url:"modal.php", 
      type:"POST", 
      data:{value:value}, 
      success:function(modalBody){ 
       $("#myModal .modal-body").html(modalBody); 
       $("#myModal").modal('show'); 
       } 

     }); 
     } 
     }); 




}); 


function submit() { 

    var values = []; 
    $('input[type=checkbox][name=sub]').each(function(){ 
     if($(this).is(":checked")) 
      { 
     values.push($(this).val()); 
     alert(values.join());  
     } 
     }); 

} 

modal.php

<html> 
<body> 

<?php 

      if($_POST['value']){ 
       $test = $_POST['value']; 
       include("config.php"); 

      $sql = "SELECT name FROM tb where Id=".$value." "; 
      $res = mysqli_query($conn,$sql); 
      while($row = mysqli_fetch_assoc($res)){ 
?> 
      <input id='category' type='checkbox' name=sub'[]' value = <?php echo $row['name']; ?> /><?php 
      echo $row['name']; 
      echo "<br>"; 

    } 

} 

else echo "not post"; 

?> 

</body> 
</html> 

的config.php

<?php 
      $servername = "localhost"; 
      $username = "root"; 
      $password = ""; 
      $db = "test"; 


    // Create connection 
      $conn = mysqli_connect($servername, $username, $password,$db); 


    // Check connection 
      if (!$conn) { 
      die("Connection failed: " . mysqli_connect_error()); 
      } 
      echo "Connected successfully <br/>"; 
?>  

回答

1

修复你的PHP页面

<?php 
      if($_POST['value']){ 
        $test = $_POST['value']; 
        include("config.php"); 

       $sql = "SELECT name FROM tb where Id=".$value." "; 
       $res = mysqli_query($conn,$sql); 
       while($row = mysqli_fetch_assoc($res)){ 
       echo "<input class='category' type='checkbox' name='sub[]' value ='".$row['name'];."'/>"; 
       echo $row['name']; 
       echo "<br>"; 

     } 

    } 

else echo "not post"; 

?> 

您的JS

var values = []; 
    $('.category:checked').each(function(){ 
      values.push($(this).val()); 
     }); 
    alert(values.join());  
+2

它的工作原理。非常感谢:D – casper

相关问题