2017-10-09 2 views
-1

J'ai un script que j'essaie de transmettre une valeur de case à cocher à ajax, d'une manière ou d'une autre pas capable de. Pour l'utilisateur, les noms seront affichés, tandis que j'utilise ce qui suit pour obtenir la liste d'ID pour les noms sélectionnés par l'utilisateur.Post les données de case à cocher avec servlet ajax to java

<script> 
    var finalidlist = ''; 
     var checkboxes = $('.selectone'); 
     for (i = 0; i < checkboxes.length; i++) { 
      if (checkboxes[i].checked === true) { 
       if (finalidlist.length > 0) { 
        finalidlist += ','; 
       } 
       finalidlist += checkboxes[i].name; 
      } 
     } 

    $('#selectall').click(function() { 
     var checkboxes = $('.selectone'); 
     for (i = 0; i < checkboxes.length; i++) { 
      checkboxes[i].checked = this.checked; 
     } 
    }); 
    $('.selectone').click(function() { 
    }); 
</script> 

Après cela, je tente de transmettre les valeurs à ajax lorsque l'utilisateur soumettre

<script> 
$(function() { 
    $('#submit_button').click(function() { $.ajax({ 
       url: 'submit.jsp', 
       type: 'post', 
       dataType: 'html', 
       async: false, 
       data: {ids: finalidlist} 
    } 
    }; 
} 

</script> 

Alors que je ne suis pas en mesure d'obtenir la liste des ID vérifiés à l'intérieur du ajax. Je suis assez nouveau à jsp, quelqu'un peut-il aider à ce sujet?

+0

peut être que votre ajax est dans un scénario et votre finalidlist est dans un autre script –

+0

Comment cette question a quelque chose à voir avec l'affichage à java? Vous ne répondez qu'à un problème avec JavaScript qui n'obtient pas les valeurs requises. Il n'y a aucun problème dans votre question mentionné avec le message. – Nope

+0

votre finalidlist n'est pas mis à jour sur la case à cocher changement – davidchoo12

Répondre

1

J'ai déplacé votre script pour initialiser la liste finale dans le gestionnaire de clic. De cette façon, vous n'avez pas besoin de mettre à jour la liste chaque fois qu'une case à cocher a été modifiée.

$(function() { 
    $('#submit_button').click(function() { 
     var finalidlist = ''; 
     for (i = 0; i < checkboxes.length; i++) { 
      if (checkboxes[i].checked === true) { 
       if (finalidlist.length > 0) { 
        finalidlist += ','; 
       } 
       finalidlist += checkboxes[i].name; 
      } 
     } 
     $.ajax({ 
      url: 'submit.jsp', 
      type: 'post', 
      dataType: 'html', 
      async: false, 
      data: {ids: finalidlist} 
     } 
    }; 
});