Отправить только выбранные чекбоксы

432
24 ноября 2016, 10:04
$('#btn1').click(function() {
    $("#ajax").load("1.php", "company="+$('input[name=checkbox1]:checkbox:checked').val()+"&mk="+$('input[name=checkbox2]:checkbox:checked').val());
    return true;
});

Если чек боксы не заданы/выбраны, передает undefined, isset\empty не разпознают как пустую переменную. Необходимо не передавать не заданную группу чекбоксов. т.е.

  1. если выбран checkbox1 передавать только его
  2. если выбран checkbox2 передавать только его
  3. если выбраны оба то передавать оба

Либо если можно в PHP распознать переданый undefind, понимать что он не выбран.

Answer 1

Для выбора значений выбранных чекбоксов используйте is:

    $('SELECTOR').is(':checked').val()
Answer 2

Не знаю на сколько корректно, но решил вопрос так:

                if ( $('input[name=checkbox1]:checkbox:checked').is(':checked')    ){                   
                string += "&company="+$('input[name=checkbox1]:checkbox:checked').val();
            }
            if ( $('input[name=checkbox2]:checkbox:checked').is(':checked')    ){                   
                string += "&mk="+$('input[name=checkbox2]:checkbox:checked').val();
            }

            alert(string);
        $("#ajax").load("1.php", string);
READ ALSO
Не работает скрипт jquery.Что я делаю не так?

Не работает скрипт jquery.Что я делаю не так?

Здравствуйте, пытаюсь сделать обработку формы с помощью jquery. Проект делается на laravel 5.

447
Какая разница между appendTo и append() ?

Какая разница между appendTo и append() ?

Не понятен результат данного вызова. .

583
Скрыть элемент при клике по кнопке

Скрыть элемент при клике по кнопке

Здравствуйте. Пытаюсь скрыть элемент block при нажатии на button, но код не работает.

818