2011-08-04 2 views
2

Je suis les cases à cocher ci-dessous et je veux passer les valeurs vérifiées à un tableau afin que je puisse faire un post ajax. Cependant, je frappe une erreur et je ne suis pas sûr où je me suis trompé ... Comment puis-je passer les valeurs dans le tableau et comment puis-je les récupérer?Comment faire passer des valeurs de case à cocher dans un tableau en utilisant jQuery?

HTML

<input type="checkbox" name="newCheckboxes" value="1" /> 
<input type="checkbox" name="newCheckboxes" value="2" /> 
<input type="checkbox" name="newCheckboxes" value="3" /> 

Script (ne fonctionne pas)

var allFields = $([]); 
$("#newCheckboxes:checked").each(function() { 
     allFields.add($(this).val()); 
}); 

$.ajax(
     { 
     type:"POST", 
     url: "PostedHere", 
     data:{ 
      checkedValues: allFields 

       } 
     }); 

Répondre

1

Vous avez seulement besoin:

$.ajax({ 
    type:"POST", 
    url: "PostedHere", 
    data: { checkedValues: $("#newCheckboxes:checked").serialize() } 
}); 
// checkedValues: "newCheckboxes=1&newCheckboxes=2" etc.. 
+0

Nous vous remercions de votre aide. Je ne peux pas sembler le récupérer à mon servlet "PostedHere". J'ai utilisé 'String checkedValues ​​= (String) request.getParameter (" checkedValues ​​");' Est-ce la bonne façon? – newtodatatables

0

En utilisant karim79 idée de code:

$.post('URL', $('[name="newCheckboxes"]:checked').serializeArray(), function(data){ 
    //data 
}); 
+0

une idée comment je peux extraire les informations à mon URL? – newtodatatables

0

Ce que je préfère faire: créer un nouvel objet et ajouter à un tableau (accès) toutes les cases de la valeur »et « isChecked », puis passez à la page par Json:

$(document).ready(function() { 
        $("#btnSave").click(function() { 
         event.preventDefault(); 
         $("#newCheckboxes").each(function() { 
         var data= new Object() 
         var access = new Array(); 
         access.ChValue = $(this).attr("value"); 
        if ($(this).attr("checked") == "checked") access.ChChecked = true; 
        data.push(access); 
       }); 

$.ajax({ 
       type: 'POST', 
       url: '@Url.Content("~/URLofPage")', 
       data: $.json.encode(data), 
       dataType: 'json', 
       contentType: 'application/json; charset=utf-8' 

      }); 
}); 
}); 

s'il vous plaît ne pas oublié pour ajouter la référence Json à votre page:

<script src="../../../Scripts/jquery.json.js" type="text/javascript"></script> 
Questions connexes