Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   value у не нажатого Checkboxа. (https://javascript.ru/forum/dom-window/37003-value-u-ne-nazhatogo-checkboxa.html)

Vitaliy88 04.04.2013 00:11

value у не нажатого Checkboxа.
 
Подскажите, пожалуйста по такой проблеме. В инете рылся, но подходящего решения не нашёл.

Дело в том, что Checkbox в ненажатом виде при не передаёт никакого значения, там, к сожалению, или 1 или ничего. Причём это "ничего" не улавливает обработчик. Каким образом можно сделать, чтобы value не нажатого checkboxa было равно "0".
Форма у меня динамическая, подставляет комплекты форм при нажатии на кнопку.

Пример такого рода мне категорически не подходит:
<input type="hidden" name="imya[]"/>
<input type="checkbox" name="imya[]" value="1"/>, так как при нажатом чекбоксе на сервер будут переданы два значения, от которых проблематично избавляться.

Вот такой скрипт не работает:
<input type="checkbox" class="checking" name="imya[]" value="1"/>
if($("input[class=checking]").is(:checked)){$(this).attr('value', '1');}else{$(this).attr('value','0');}

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

Может быть это может будет создание нулевого value.
Либо стилизация двух радио-кнопок под чекбокс. Радио-кнопки идеально подходят, только в дизайн не вписываются.

Помогите, кто чем может!:help:
Заранее благодарен!!!

danik.js 04.04.2013 01:35

А не проще подправить код обработчика? Чтобы отсутствие параметра воспринимал как параметр со значением 0. Это же проще и корректней..

Vitaliy88 04.04.2013 09:10

Цитата:

Сообщение от danik.js
А не проще подправить код обработчика? Чтобы отсутствие параметра воспринимал как параметр со значением 0. Это же проще и корректней..

Я думал об этом, но так не получилось, Это идеально в том случае, когда у каждого checkboxа есть своё уникальное имя, но у меня массив. Не нажатый чекбокс вообще не передаёт в обработчик данные в результате получается массив, $_REQUEST['imya'][]который по количеству ключей отличается от массивов других форм, и при зацикливании отображения форм, ненажатые чекбоксы просто пропускаются, а нажатые формируют сплошной ряд.

Тут либо какая-то стилизованная радио-кнопкак, потому что радио-кнопка работает так как надо, либо как-то эмулировать нулевое value у чекбокса

danik.js 04.04.2013 10:04

Как вариант можно именовать checkbox[0], checkbox[1] и тд вместо checkbox[], checkbox[] ..


Часовой пояс GMT +3, время: 11:20.