jQuery обрабатывает группы флажков

#javascript #jquery

#javascript #jquery

Вопрос:

Итак, у меня есть несколько групп флажков, которые все связаны. Более конкретно, это система разрешений. У каждой группы пользователей есть свой набор разрешений, поэтому администратор получает просмотр / чтение / создание, Участник получает просмотр / чтение / создание и так далее. У каждой группы будут флажки для каждого разрешения, чтобы выбрать, какие группы что могут делать.

Обработка с помощью PHP — это торт, можно просто сделать name="permission[$group_id][]" , и это в значительной степени все. Однако, поскольку я не очень свободно владею Javascript, у меня возникли небольшие проблемы с обработкой его с помощью jQuery таким же образом. В конечном счете, мне нужно иметь возможность передавать флажки PHP-скрипту с AJAX. Я также должен иметь возможность заполнять флажки с помощью AJAX / Javascript.

Любые указания приветствуются.

Ответ №1:

Просто сделайте это:

 $.ajax({
   ...
   //Select all checkboxes whose names begin with 'permission[', and serialize them for correct ajax transport
   data: $(":checkbox[name^='permission[']").serialize()
   ...
});
  

Он автоматически закодирует название ваших флажков.

Комментарии:

1. Это сработало. В конце PHP я использовал функцию parse_str для получения массива, который я искал. php.net/manual/en/function.parse-str.php

Ответ №2:

Сначала вы можете установить свои флажки по имени, чтобы найти те, которые были проверены, что-то вроде:
$(‘input[name=yourname]:checked’).val();
http://api.jquery.com/val/

чтобы получить ваши значения и преобразовать их в массив,
или вы можете «сериализовать» свою форму:
http://api.jquery.com/serialize

затем вы можете отправить свои данные через post с:
http://api.jquery.com/jQuery.post/

Надеюсь, это поможет. Если вы опубликуете какой-нибудь код, я могу оказать вам более прямую поддержку.