Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Проверка состояния элементов формы (checkbox, radio и т.д.)


 Поделиться

Рекомендованные сообщения

Доброго времени суток, уважаемые форумчане!

 

Работаю над реализацией следующей задачи:

 

В админке в настройках модуля выбираются опции товаров, при нажатии на "Сохранить" отмеченные опции (реализовано в виде checkbox) фиксируются в БД. В каталоге, соответсвенно, отмеченные опции отображаются.

 

Практически всё реализовано за исключением одной мелочи: в БД отмечаются не только выбранные checkbox, а все...

 

Реализация в коде:

<a onclick="setView(); $('#form').submit();" class="button"><?php echo $button_save; ?></a>
public function setViewTest($option_id, $value)
{
$this->db->query("UPDATE ". DB_PREFIX ."product_option_view SET view = "
.(int)$value." WHERE option_id = ".(int)$option_id);
}
<script type="text/javascript">
function setView()
{
if($("#<?php echo $option['option_id']?>").prop('checked'))
{
<?php $this->model_module_module_test->setViewTest($option['option_id'], 1); ?>
}
else
{
<?php $this->model_module_module_test->setViewTest($option['option_id'], 0); ?>
}
}
</script>

По логу SQL-запросов действительно делается update всех записей таблицы. Даже просто при загрузке страницы. Хотя на самом деле нужно, чтобы JS функция вызывалась только при клике на ссылку. Почему это происходит - для меня загадка.

 

Буду очень признателен, если кто-то укажет на мои ошибки либо предложит другие пути решения данной задачи.

Ссылка на комментарий
Поделиться на других сайтах

сотри все, почитай про serialize и напиши заново.

 

Спасибо, конечно, за ответ... но как serialize решит мою проблему, что у меня js-код выполняется при загрузке страницы, а не при вызове его??? Или, возможно, я не совсем разобрался с serialize... В инете нарыл, что эта php-функция позволяет представить переменную или массив в виде, удобном для хранения в БД или текстовом файле... так с этим, вроде, проблем нет...

Ссылка на комментарий
Поделиться на других сайтах

jquery - :checked

 

пример давать не буду, здесь работа должна быть проделана самостоятельно

Ссылка на комментарий
Поделиться на других сайтах

jquery - :checked

 

пример давать не буду, здесь работа должна быть проделана самостоятельно

эммм.... я как бы его и использовал...

$("#<?php echo $option['option_id']?>").prop('checked')
Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.