Иван Соломенников, сомнительно что правильнее. Я считаю неправильным писать код который будет приводить к неожиданному эффекту, такому как потеря слушателя или потеря кастомных свойств в элементи.
Ваше решение действительно простое. Но еще пара решений лишим не будет. Пусть автор выбирает.
Murat Atila: Простите. Прочитав название во второй раз - понял о чем речь)
Всё дело в jQuery.params (вроде бы). Именно jQuery.params обрабатывает подаваемые данные в свойство data ($.ajax( { data: } ).
Элементы с пустыми значениями - чем и является пустой массив [] - не воспринимаются. Так как пустой массив == FALSE.
Более-менее простым и частоиспользуемым решением есть, это инициализируя пустой массив - вставить в него кавычки. Вот так: [''] - тогда он воспринимается. Но на стороне PHP передаваемая переменная уже не будет считаться пустой.
Т.е. empty( $_POST['wednesday'] ) // - FALSE
Ваше решение действительно простое. Но еще пара решений лишим не будет. Пусть автор выбирает.