Jump to content

Некорректно работает доп. checkbox для варианта


Recommended Posts

Нужно добавить checkbox для варианта,
1. Добавил checkbox в шаблон

<input name="variants[export][]" value="1" type="checkbox"{if $variant->export} checked{/if}/>

2. Добавил колонку export TINYINT(1) DEFAULT 0 в БД таблица s_variants
3. Добавил вывод колонки в Variants.php

Проблема, если checkbox выбран значение записывается в БД, а если снять метку, то новое значение не сохраняется.(с 0 на 1 меняется, а обратно нет)
В чем проблема?

Link to post
Share on other sites

Причина в особенностях работы чекбокса, точнее в особеностях отправки формой его значения на сервер. При значении 0 не передается НИЧЕГО. Простейший способ решения вопроса - заменить чекбокс на select.

Link to post
Share on other sites

Насколько будет правильно если я сделаю вот так

Причина в особенностях работы чекбокса, точнее в особеностях отправки формой его значения на сервер. При значении 0 не передается НИЧЕГО. Простейший способ решения вопроса - заменить чекбокс на select.
 

if ($this->request->post('variants'))
{
    $v = $this->request->post('variants');
    if (!in_array('export', $v))
    {
        $v['export'][] = 0;
    }

    foreach($v as $n => $va)
    {
        foreach($va as $i => $v)
        {
            if (empty($variants[$i]))
            {
                $variants[$i] = new stdClass;
            }

            $variants[$i]->$n = $v;
        }
    }
}
Edited by AFI
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...