#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/
Надеюсь, это поможет. Если вы опубликуете какой-нибудь код, я могу оказать вам более прямую поддержку.