Как передать значения флажков в массив с помощью jQuery? - PullRequest
2 голосов
/ 04 августа 2011

У меня установлены следующие флажки, и я хочу передать проверенные значения в массив, чтобы я мог сделать сообщение ajax. Тем не менее, я получаю сообщение об ошибке, и я не уверен, где я ошибся ... Как передать значения в массив и как их получить?

HTML

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

Скрипт (не работает)

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

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

              }
         });

Ответы [ 3 ]

1 голос
/ 04 августа 2011

Вам нужно только:

$.ajax({
    type:"POST",
    url: "PostedHere",
    data: { checkedValues: $("#newCheckboxes:checked").serialize() } 
});
// checkedValues: "newCheckboxes=1&newCheckboxes=2" etc..
0 голосов
/ 04 августа 2011

Что я предпочитаю делать: создать новый объект и добавить все флажки «Значение» и «Проверено» в массив (доступ), а затем передать его на страницу по 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'

            });
});
});

Не забудьте добавить ссылку Json на свою страницу:

<script src="../../../Scripts/jquery.json.js" type="text/javascript"></script>
0 голосов
/ 04 августа 2011

Использование идеи кода karim79:

$.post('URL', $('[name="newCheckboxes"]:checked').serializeArray(), function(data){
  //data
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...