Set value checkbox checked in button
damdam61
Messages postés
1
Statut
Membre
-
Xavierdu34 Messages postés 223 Statut Membre -
Xavierdu34 Messages postés 223 Statut Membre -
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
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
-
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.