2 Stimmen

Wie man Checkbox Werte in ein Array mit jQuery übergeben?

Ich habe die untenstehenden Checkboxen und möchte die angekreuzten Werte an ein Array übergeben, damit ich einen Ajax-Post durchführen kann. Allerdings stoße ich auf einen Fehler, und ich bin nicht sicher, wo ich falsch gemacht habe... Wie übergebe ich die Werte in das Array und wie kann ich sie abrufen?

HTML

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

Skript (funktioniert nicht)

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

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

              }
         });

1voto

karim79 Punkte 333786

Sie brauchen nur:

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

0voto

Jose Adrian Punkte 1197

Verwendung der Code-Idee von karim79:

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

0voto

Amir978 Punkte 795

Ich ziehe es vor, das zu tun: Erstellen Sie ein neues Objekt und fügen Sie alle Kontrollkästchen "Value" und "Ischecked" zu einem Array (Zugriff), dann übergeben Sie es an die Seite von 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'

            });
});
});

Bitte vergessen Sie nicht, Ihrer Seite einen Json-Verweis hinzuzufügen:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X