Допустим, вы применили класс, возможно, «tehAwesomeCheckboxen» для каждого флажка. Тогда
<script>
$("#advancedSearchForm").submit(function() {
var chkbxValues = $(".tehAwesomeCheckboxen").val();
$("#specialty").val( chkbxValues.join(",") );
});
</script>
EDIT:
Я не думаю, что массив $ _POST заполняется, поскольку отправка обрабатывается локально механизмом JavaScript. ТАК ... давайте попробуем это:
<script>
var chkbxValues = new Array();
$(".tehAwesomeCheckboxen").live("change", function(e){
var val = $(this).val();
if( $(this).is(":checked") ) {
if( chkbxValues.length == 0 || chkbxValues.indexOf(val) == -1){
// Add the value
chkbxValues.push(val);
}
}
else {
// remove the value
chkbxValues.splice( chkbxValues.indexOf(val), 1 );
}
$("#specialty").val( chkbxValues.join(",") );
});
</script>
Это добавляет обработчик событий к самим флажкам, так что установка / снятие флажка изменяет скрытый элемент. Тогда ваша форма обрабатывает отправку как обычно.
Это больше соответствует тому, что вы пытаетесь сделать?
P.S. Те, кто проголосовал за это, обратите внимание, что я изменил свой ответ. Пожалуйста, убедитесь, что вы по-прежнему считаете это полезным, и соответственно измените свой голос.