Le modèle XML que m'a donné le fond :
<Pay>0,1,2</Pay>
<input type="checkbox" name="PayTypeList" class="PT1">1
<input type="checkbox" name="PayTypeList" class="PT2">2
<input type="checkbox" name="PayTypeList" class="PT3">3
<script>
($(".PT1").is(':checked')==true)?PT1="0":PT1="";
($(".PT2").is(':checked')==true)?PT2="1":PT2="";
($(".PT3").is(':checked')==true)?PT3="2":PT3="";
</script>
$("#textarea").html("<Pay>"+PT1+","+PT2+","+PT3+"</Pay>")
J'utilise cette méthode pour déterminer puis épisser, mais si la dernière option n'est pas sélectionnée, alors l'option précédente est suivie d'une virgule, que dois-je faire
Déclarez un tableau. Si une case est cochée, insérez-y la valeur et enfin utilisez join pour la convertir en un tableau séparé par des virgules.
L'expression régulière utilisée à l'étage ne peut supprimer que la dernière virgule. S'il y en a des non sélectionnées devant, il y aura toujours des virgules supplémentaires.
1. Je comprends votre exigence : il vous suffit de les afficher dans l'ordre, quel que soit l'ordre de sélection. Par exemple, que vous sélectionniez d'abord 2 ou 0, l'affichage sera 0, 2 ;
Ma solution consiste à utiliser un tableau pour parcourir. Il existe de nombreuses méthodes de parcours :
Option 1 : Utiliser
reduce
(Je viens d'apprendre à réduire aujourd'hui, jouons avec)Option 2 : Utiliser
filter + join
Option 3 : Utiliser
for循环
2. Si vous considérez l'ordre des clics, vous pouvez utiliser l'événement change : lorsque le CheckBox change, jugez coché pour ajouter ou supprimer des données
html:
javascript
(Appris de la
huguangju
méthode de création d'un tableau vide)En tant que tableau, supprimez les éléments nuls du tableau, puis formatez-le en chaîne