Хотел бы поделиться решением выделения нескольких checkbox-ов методом выделения одного выбранного. Будем использовать библиотеку JQuery. Скрипт короткий и думаю будет всем понятен.
Подключаем скрипт JQuery.
<script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready( function() { $("#main").click( function() { if($('#main').attr('checked')){ $('.cb').attr('checked', true); } else { $('.cb').attr('checked', false); } }); }); </script>
Как это работает. При выделении одного чекбокса, другие выделяются по его подобию по классу .cb .
Пример формы:
Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" /> Картинка <input class="cb" name="picture1" type="checkbox" value="1" />
Основной же должен выглядеть так
Выделить все <input class="main" name="all" type="checkbox" value="1" />
А подскажите как сделать чтобы этот скрипт ещё и значения чекблкслв в БД изменял, ну если отмечен, в БД поставить 1, если убрать, в БД поставить 2. Это мжно сделать без использования кнопок?
Да, можно
Для этого используйте Ajax
что то типа такого
$(«.cb»).click(function(){
var value = $(this).attr(«value»);
var id = $(this).attr(«id»);
$.ajax({
type: «POST»,
url: «ajax.php»,
data: «id=» + id + «value=» + value,
success: function(msg){
alert( «Data Saved: » + msg );
}
});
});
А в файле ajax.php выполняете запросы к базе данных и все.
Еще нужно добавить в ваш инпут поле атрибут id чтобы получать его для обновления строки в БД
Примерно так ..не проверял но должно работать.
Удачи!