Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Отправка выбранных чекбоксов (https://javascript.ru/forum/jquery/47716-otpravka-vybrannykh-chekboksov.html)

cript 04.06.2014 19:36

Отправка выбранных чекбоксов
 
Приветствую!
Скажите что делаю не так?
<form id="form ">
<input type="checkbox" value="1"  checked>
<input type="checkbox" value="1">
<input type="checkbox" value="1" checked>
</form>
<div onclick="update();"></div>

function update() {
var checks = $('#form input:checkbox:checked').serialize();
$.post('../../update.php', {
checks: checks
});
...
}

Должно отправлять значение выбранных checkbox, но отсылается пустое поле..

krasovsky 05.06.2014 07:40

Укажи чекбоксам name=""

cript 05.06.2014 10:41

krasovsky,
Сработало!
Еще один вопрос, почему такая схема не работает
var nochecks = $('#form input:checkbox:not(:checked)').serialize();
//
var nochecks= $('#form ').find('input:checkbox:not(:checked)').serialize();

?

рони 05.06.2014 11:19

Цитата:

Сообщение от cript
Еще один вопрос, почему такая схема не работает

потому что кто-то нечитает доки
Цитата:

Values from checkboxes and radio buttons (inputs of type "radio" or "checkbox") are included only if they are checked.
вольный перевод: данные будут включены если элемент отмечен
http://api.jquery.com/serialize/

cript 05.06.2014 14:32

Случайно не знаете как оптимально выбрать все не выбранные checkbox ?
В интернете искал везде какие то громоздкие варианты, уверен что можно проще

рони 05.06.2014 16:28

cript,
танцы с бубнами ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
   $(function ()
{
    $('#form input:checkbox:not(":checked")').addClass('check').prop({checked : true});
    var nochecks = $('.check').serialize();
    $('.check').removeClass('check').prop({checked : false});
    alert(nochecks)
})
  </script>
</head>

<body>

   <form id="form">
<input type="checkbox" name="ky" value="1"  checked>
<input type="checkbox" name="test" value="1">
<input type="checkbox" name="ky" value="1" checked>
</form>
<div onclick="update();"></div>


</body>

</html>

cript 05.06.2014 21:15

рони,
Это именно то что было нужно!


Часовой пояс GMT +3, время: 18:02.