2016-11-09 4 views
1

checkbox.phpAusgewählte Kontrollkästchen sind nicht markiert. Warum?

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

Oben ist meine Haupt zwei Kontrollkästchen. Ein Modal erscheint, wenn ich auf ein Kontrollkästchen klicke. Auf dem dynamische Checkboxen (Unter-Checkboxen) aus der Datenbank angezeigt werden. wenn ich auf Unterfelder auf Modal klicke und dann auf Senden klicke. Die Warnung wird ohne Werte angezeigt. was ich tun muss, ist Checkboxen Werte in Alarm zu bekommen. Kann mir jemand helfen?

Hier sind meine 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());  
     } 
     }); 

} 

und 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/>"; 
?>  

Antwort

1

Fix Ihre PHP-Seite

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

?> 

Ihre js

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

es funktioniert. vielen Dank: D – casper

Verwandte Themen