checkbox value
Код:
<form name="zakaz">
<input name="detail" type="checkbox" checked value="1">
<input name="detail" type="checkbox" checked value="2">
<input name="detail" type="checkbox" checked value="3">
<input name="detail" type="checkbox" checked value="4">
</form>
<input name="detail" type="checkbox" checked value="1">
<input name="detail" type="checkbox" checked value="2">
<input name="detail" type="checkbox" checked value="3">
<input name="detail" type="checkbox" checked value="4">
</form>
Код:
<!doctype html>
<html lang="ru">
<head>
<meta charset="cp1251">
<title>Чекматьегобокс</title>
<script src="http://yastatic.net/jquery/2.1.3/jquery.js"></script>
<script>
$(function() {
$('input[name=detail]').change(function() {
$(this).val($(this).is(":checked") ? 1 : 0);
});
});
</script>
</head>
<body>
<form name="zakaz">
<input name="detail" type="checkbox" checked value="1">
<input name="detail" type="checkbox" checked value="2">
<input name="detail" type="checkbox" checked value="3">
<input name="detail" type="checkbox" checked value="4">
</form>
</body>
</html>
<html lang="ru">
<head>
<meta charset="cp1251">
<title>Чекматьегобокс</title>
<script src="http://yastatic.net/jquery/2.1.3/jquery.js"></script>
<script>
$(function() {
$('input[name=detail]').change(function() {
$(this).val($(this).is(":checked") ? 1 : 0);
});
});
</script>
</head>
<body>
<form name="zakaz">
<input name="detail" type="checkbox" checked value="1">
<input name="detail" type="checkbox" checked value="2">
<input name="detail" type="checkbox" checked value="3">
<input name="detail" type="checkbox" checked value="4">
</form>
</body>
</html>
Цитата: MrLinker
Не буду пытать подробности задумки, но так должно сработать:
Ну видимо без подробностей все же не обойтись.
Итак. Есть форма, в которой пользователь указывает состав изделия, материалы деталей, и если какая-то деталь может быть заменена другой, - то вариант исполнения детали, условно форма выглядит так:
Код:
<form name="zakaz">Жилет меховой:
<input name="isdel" type="text" size="4" value="3"> шт.
<table>
<tr>
<td>Рукав левый
<div style="float: right;width: 20px;">
<input name="detail" type="checkbox" checked value="1">
</div>
<input type="hidden" name="detailmod" value="0">
</td>
<td>
<select name="material">
<option value="1">Кожа</option>
<option value="2">Мех</option>
<option value="3">Ткань</option>
</select>
</td>
</tr>
<tr>
<td>Рукав правый
<div style="float: right;width: 20px;">
<input name="detail" type="checkbox" checked value="2">
</div>
<input type="hidden" name="detailmod" value="0">
</td>
<td>
<select name="material">
<option value="1">Кожа</option>
<option value="2">Мех</option>
<option value="3">Ткань</option>
</select>
</td>
</tr>
<tr>
<td> <b>Застежка молния</b>
<div style="float: right;width: 20px;">
<input name="detailmod" type="radio" checked value="4">
</div>
<div style="float: right;width: 20px;">
<input name="detail" type="checkbox" checked value="3">
</div>
<table>
<tr>
<td>Пуговицы
<div style="float: right;width: 20px;">
<input name="detailmod" type="radio" checked value="5">
</div>
</td>
</tr>
<tr>
<td>Кнопки
<div style="float: right;width: 20px;">
<input name="detailmod" type="radio" checked value="6">
</div>
</td>
</tr>
</table>
</td>
<td>
<select name="material">
<option value="1">Пластик</option>
<option value="2">Металл</option>
<option value="3">Дерево</option>
</select>
</td>
</tr>
</table>
<br>
<center>
<input type="submit" value="Далее">
</center>
</form>
<input name="isdel" type="text" size="4" value="3"> шт.
<table>
<tr>
<td>Рукав левый
<div style="float: right;width: 20px;">
<input name="detail" type="checkbox" checked value="1">
</div>
<input type="hidden" name="detailmod" value="0">
</td>
<td>
<select name="material">
<option value="1">Кожа</option>
<option value="2">Мех</option>
<option value="3">Ткань</option>
</select>
</td>
</tr>
<tr>
<td>Рукав правый
<div style="float: right;width: 20px;">
<input name="detail" type="checkbox" checked value="2">
</div>
<input type="hidden" name="detailmod" value="0">
</td>
<td>
<select name="material">
<option value="1">Кожа</option>
<option value="2">Мех</option>
<option value="3">Ткань</option>
</select>
</td>
</tr>
<tr>
<td> <b>Застежка молния</b>
<div style="float: right;width: 20px;">
<input name="detailmod" type="radio" checked value="4">
</div>
<div style="float: right;width: 20px;">
<input name="detail" type="checkbox" checked value="3">
</div>
<table>
<tr>
<td>Пуговицы
<div style="float: right;width: 20px;">
<input name="detailmod" type="radio" checked value="5">
</div>
</td>
</tr>
<tr>
<td>Кнопки
<div style="float: right;width: 20px;">
<input name="detailmod" type="radio" checked value="6">
</div>
</td>
</tr>
</table>
</td>
<td>
<select name="material">
<option value="1">Пластик</option>
<option value="2">Металл</option>
<option value="3">Дерево</option>
</select>
</td>
</tr>
</table>
<br>
<center>
<input type="submit" value="Далее">
</center>
</form>
Если допустим первый чекбокс отключен, - то серверу передастся:
1. пара "detailmod | material" - от первого чекбокса
2. две тройки значений значений "detail | detailmod | material" - от второго и третьего чекбокса
То есть записать эти данные в массив простым циклом без смещений не получится - нарушится соответствие модификаций и материала детали.
Так уж случилось, что если чекбокс выключен, то он вообще не передается серверу.
Нужен скрипт, который будет проверять включен чекбокс или выключен если он выключен (а значит серверу не передается), то не передавать соответствующие ему detailmod и material обработчику.