Знаю, я мастер запарки. Но суть такая. Для каждой страницы настраивается доступ для определенного вида пользователя. И напротив каждой есть куча чекбоксов. Хотелось бы сделать что-то вроде "применение общей темы", когда нажимаешь на кнопку и выбираются определенные чекбоксы. Функция такая: Код (Text): function pageTheme(id,av /* тот самый av, про который я скажу ниже */,nav,p4v,np4v,za,so,ad,oe,sp) { twoCB = $('input:checkbox[name*='+id+']'); console.log(twoCB); } id - это id страницы в базе данных. Всё остальное - передаваемые параметры (1 или 0, то есть, есть ли доступ к разделу для данного из типов пользователей или нет). Вот что генерит php: Код (Text): <label $ron> <input type="radio" name="pg[$id][2][N]" value="1"> </label><br/> <label $roff> <input type="radio" name="pg[$id][2][N]" value="0" checked> </label> Вот и суть проблемы: как мне сделать, чтобы при нажатии на кнопку выполнялась функция выше по типу "выбрать checkbox где в имени есть id и value равный (скажем) av, и присвоить ему аттрибут checked?" Или это слишком сложно для селектора? Суть такая. Вот "незасхемленная" страница: Нажимаем на "Зак.", получаем: Добавлено спустя 12 минут 25 секунд: нашел в документах jquery буду пробовать... Добавлено спустя 28 минут 41 секунду: Получилось, но возникла другая проблема. На код: Код (Text): $('input:checkbox[name*=pg\['+id+'\]\['+i+'\]][value*='+arr[i]+']').attr('checked',true); он выдает ошибку: Ах да, забыл. Преобразил функцию: Код (Text): function pageTheme(id,arr) { //av,nav,p4v,np4v,za,so,ad,oe,sp for (var i=0; i<arr.length; i++) { $('input:checkbox[name*=pg\['+id+'\]\['+i+'\]][value*='+arr[i]+']').attr('checked',true); } }
Да, по прежнему не работает и выдает ахинею. Я перевел все имена в id="pg[ID]t-[N]", где ID - ид страницы и N - это какой из доступов настроить. Вот в чем проблема. Вот кнопка передающая что и как отметить: Код (Text): [<a href="javascript:pageTheme($id,[1,0,1,1,0,1,1,0,1])">Зак.</a>] В массиве - цифры. 0 - это отключить, 1 - это включить. Вот функция: Код (Text): <script> function pageTheme(id,arr) { //av,nav,p4v,np4v,za,so,ad,oe,sp for (var i=0; i<arr.length; i++) { $('#pg'+id+'t\-'+i+'[value=0]').attr('checked',false); $('#pg'+id+'t\-'+i+'[value=1]').attr('checked',false); $('#pg'+id+'t\-'+i+'[value='+arr[i]+']').attr('checked',true); } } </script> Находит нормально, всё работает. Но вот какой результат до клика по кнопке: и вот какой после: Соответственно, вопрос... что я делаю не так? Зеленая - это 1, розовая - 0. Странно, что чекбоксы убираются совсем.... Добавлено спустя 2 минуты 30 секунд: СТранно другое... Переведя все чекбоксы в ВЫКЛ и нажав на кнопку - всё стало норм.... Добавлено спустя 4 минуты 14 секунд: Я так понял, убирается совсем в том случае, если есть расхождение между текущим установленным радио и при попытке его изменить...
всё работает? просто я пока вникаю уже новая инфа приходит. кажется у тебя на самом деле всё ок и ты просто сам сейчас до всего дойдешь и проблемы у тебя нет))) хорошей пятницы)))
имею в виду, если изначально все на 0 перевести и нажать - приведет к нормальному виду... Добавлено спустя 3 минуты 28 секунд: Короче, мне просто нужен переключатель ммежду двумя одноименными, но разными по valu'ям радиобоксами