0
votes

Vérifiez / décochez toutes les cases à cocher Cochez 1 case à 1 boîte mais renvoyez toute l'autre valeur de la boîte à cocher

J'ai ce javascript qui cochez toutes les cases à cocher et la case à cocher. Si je clique sur cette case à cocher, il enverra une valeur à l'entrée = texte. Le problème avec cette case à cocher / la checkCheckCheckbox est que lorsque je clique dessus, il retournera toutes les valeurs (ce que je voulais exactement, mais le problème est que cela ne cochera que 1 cochez la case, mais renvoie toute valeur.) Je veux que ça cochonne tout La case à cocher en renvoyant toute la valeur.

ci-dessous est le code. p>

p>

<table>
  <tr onclick="addValue(this);">
    <input type="checkbox" id="checkUncheckAll" onClick="CheckUncheckAll()" />Check all<br/></th>
    <td><input type="checkbox" name="user_id[]" value='1' /></td>
    <td><input type="checkbox" name="user_id[]" value='2' /></td>
    <td><input type="checkbox" name="user_id[]" value='3' /></td>
  </tr>
</table>

<input class="form-control" name="user_id" id="studID" type="text" maxlength="255" />


2 commentaires

Je t'ai fait un extrait. Ce n'est pas un problème PHP, donc pas besoin de PHP. Veuillez mettre à jour le code HTML avec le code correspondant - Par exemple, ajoutez plus de cases à cocher et le studiac sur le terrain


Bonjour j'ai édité l'information


3 Réponses :


0
votes
<script>
function addValue(row) {
  //select all checkboxes with name userid that are checked
  var checkboxes = document.querySelectorAll("input[name='user_id[]']:checked")

  var values = "";

  //append values of each checkbox into a variable (seperated by commas)
  for (var i = 0; i < checkboxes.length; i++) {
    values += checkboxes[i]
      .value + ","
  }

  //remove last comma
  values = values.slice(0, values.length - 1)

  //set the value of input box
  document.getElementById("studID").value = values;

}
//Above is the code to return value to the input=text.

//Below is the code for check/uncheck all checkbox value

function CheckUncheckAll() {
  var selectAllCheckbox = document.getElementById("checkUncheckAll");
  if (selectAllCheckbox.checked == true) {
    var checkboxes = document.getElementsByName("user_id[]");
    for (var i = 0, n = checkboxes.length; i < n; i++) {
      checkboxes[i].checked = true;

      var values = "";

      //append values of each checkbox into a variable (seperated by commas)
      for (var i = 0; i < checkboxes.length; i++) {
        values += checkboxes[i]
          .value + ","
      }

      //remove last comma
      values = values.slice(0, values.length - 1)

      //set the value of input box

    }
  } else {
    var checkboxes = document.getElementsByName("user_id[]");
    for (var i = 0, n = checkboxes.length; i < n; i++) {
      checkboxes[i].checked = false;
      var values = "";

      for (var i = 0; i < checkboxes.length; i++) {
        values += ""
      }
    }
  }
  document.getElementById("studID").value = values;

}
</script>
<table>
  <tr onclick="addValue(this);">
    <td><input type="checkbox" name="user_id[]" value='User id' /></td>
  </tr>
</table>
<input type="text" id="studID"/>

3 commentaires

Vérifiez que c'est que le code de travail n'a pas trouvé Studid dans votre code


Il y a un extrait


Nah, ça va au-dessus de réponse m'a fourni la solution .. Merci pour votre aide :)



2
votes

Voici comment vérifier tout et collecter

p>

<table>
  <tr>
    <th colspan="3"><input type="checkbox" id="checkUncheckAll" />Check all</th>
  </tr>
  <tr>
    <td><input type="checkbox" name="user_id[]" value='1' /></td>
    <td><input type="checkbox" name="user_id[]" value='2' /></td>
    <td><input type="checkbox" name="user_id[]" value='3' /></td>
  </tr>
</table>

<input class="form-control" name="user_id" id="studID" type="text" maxlength="255" />


5 commentaires

Merci, bien qu'il y ait un moyen de rincer la case à cocher CheckuncheckTout si le nouveau type d'entrée est disponible parce que je utilise la table en direct


J'ai mis à jour avec recalc lorsque vous décochez les cases individuelles. Je ne comprends pas ce que tu veux dire BT Flush


Je veux dire enlever la case à cocher CheckuncheckTarch cochée si vous indiquez que le nouvel élément est disponible parce que je utilise une table en direct ..


Vous voulez dire document.getelementByID ("checkchcheckall"). Style.display = "NO NE"


Je l'ai fait, j'ai juste besoin de faire une autre fonction JavaScript ...



2
votes

<!-- You can try function and add code value to input user_id[] example  -->
<table>
  <tr onclick="addValue(this);">
    <input type="checkbox" id="checkUncheckAll" onClick="CheckUncheckAll()" />Check all<br/></th>
    <td><input type="checkbox" name="user_id[]" value='1' /></td>
    <td><input type="checkbox" name="user_id[]" value='2' /></td>
    <td><input type="checkbox" name="user_id[]" value='3' /></td>
  </tr>
</table>

<input class="form-control" name="user_id" id="studID" type="text" maxlength="255" />


1 commentaires

Il n'a pas retourné la valeur Studid