Set value checkbox checked in button

Fermé
damdam61 Messages postés 1 Date d'inscription mercredi 27 avril 2016 Statut Membre Dernière intervention 27 avril 2016 - Modifié par damdam61 le 27/04/2016 à 02:08
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 - 27 avril 2016 à 16:44
Bonjour à tous,

Cela fait maintenant trois nuits que je cherche une solution à mon problème !

J'ai un tableau avec une checkbox à chaque debut de ligne.
j'ai aussi un button qui doit me servir quand je clic dessus a m'envoyer sur une autre page qui lance un requete delete pour supprimer la ligne en passant un post la value de la checkbok .

sachant que j'ai déja un Js qui me déckeck une checkbox quand je check une autre box :p ( en gros un genre de radiobutton mais en checkbox ^^ )

je voudrais faire un peu ceci : https://examples.bootstrap-table.com/



Mon probleme je n'arrive pas à récupérer la value du checkbox checked. j'ai essayé plein plein de js j'ai fait mes propres js rien a faire je vous joins une partie de mon code

mon tableau :

<input type="button" name="modifier" value="Modifier un User" onclick="submit()" class="btn" disabled>

(.......déclaration 1er ligne du tableau)
</thead>
<tbody>

<?php
//Requete d'extraction
$reponse = $bdd->query('SELECT * FROM user');
$i=0;
while ($donnees = $reponse->fetch())
{
$i++;
?>
<tr>
<td><input type="checkbox" id="check" name="check[]" value="$i"> </td>
<td><?php echo $donnees['nom']; ?> </td>
<td><?php echo $donnees['prenom']; ?> </td>
<td><?php echo $donnees['email']; ?> </td>
<td><?php echo $donnees['typeUser']; ?> </td>
</tr>
<?php } ?>
</tbody>
</table>

js :

<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$('input[type="checkbox"]').on('change', function() {
$('div').find('input[type="checkbox"]').not(this).prop('checked', false);
});

</script>

// Si checked alors button visible
<script type='text/javascript'>//<![CDATA[
$(function(){
var checkboxes = $("input[type='checkbox']"),
submitButt = $("input[name='modifier']");

checkboxes.click(function() {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
});//]]>

</script>



mon dernier essai pour mettre la valeur de la box dans mon button :

<!-- <script type="text/javascript">
function submit(){
var elements = document.getElementsByName('check[]');
var data = [];
for (var i = 0; i < elements.length; i++){
if (elements[i].checked){
data.push('groups[]='+elements[i].value);
}
}
document.location.href = 'http://localhost/Projet/modificationUser.php?id=' + data;
}
</script>-->


merci de vos réponse


Damdam61, novice en PHP-JS

1 réponse

Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
27 avril 2016 à 16:44
Bonjour,

Pour commencer, il y a un problème dans le code de ton tableau, dans ta boucle, la ligne
<td><input type="checkbox" id="check" name="check[]" value="$i"> </td>
pose un problème puisqu'il y a duplication de l'id.

Dans un document HTML, la règle c'est un id unique pour un élément .. la chacune de tes checkbox à la même id, ce qui peux te poser bcp de problème pour manipuler le DOM avec javascript.

Une solution rapide serait :
<td><input type="checkbox" id="check_$i" name="check[]" value="$i"> </td>


ensuite si je comprends bien, il ne peut y avoir qu'une seule checkbox coché ? puisque tu as une fonction qui decheck les autres box en cas de check d'une box.
Donc si j'ai bien compris, pourquoi ne pas directement affecter la bonne valeur à un bouton qui serait sur chaque ligne (directement en php sans passer par du js) ?

Cdlt.
0