не выходит посчитать отмеченные чекбоксы
Некокое подобие доски объявлений, вся основная суть не вжна важен маленкьий момент. надо выбрать необходимые строки (поставить галочку в чекбоксе) при этом в скрытом поле должна прибавиться 1, и чекбоксик стать неактивным. При нажатии на кнопочку рядом выводится количество выбранных "объявлений".
То что было сделано приведено ниже, проблема состоит в том, что когда начинаю ставить галочку 1) считать начинает только после изменения второго чекбокса, 2) и вообще блакировка чекбокса срабатывает через раз
<form name="f1">
<table>
<tr><td><input type="checkbox" id="favID" onChange="change(1,0)" /></td><td>куплю</td><td>222-22-22</td></tr>
<tr><td><input type="checkbox" id="favID" onChange="change(1,1)" /></td><td>Продам</td><td>111-11-11</td></tr>
<tr><td><input type="checkbox" id="favID" onChange="change(1,2)" /></td><td>Поменяю</td><td>789-88-88</td></tr>
<tr><td><input type="checkbox" id="favID" onChange="change(1,3)" /></td><td>Отдам</td><td>999-99-99</td></tr>
</table>
<input type="text" name="kol_checked" value="0">
<DIV>
<input type="button" value="Добавить отмеченное в избранное" onClick="add_fav(f1.kol_checked.value)" checked="checked">
<a href="favorite.html"><span id="fav_count">Избранное ()</span></a>
</DIV>
</form>
<script>
var i;
i=f1.kol_checked.value;
function change(a,b)
{if(f1.elements[b].checked!=="checked")
{f1.kol_checked.value=a*1+f1.kol_checked.value*1;}
}
function add_fav(n)
{i=i*1+n*1;
fav_count.innerHTML="Избранное("+i+")";
};
</script>
|
|
Цитата:
передавать "a" не имеет смысла - все равно везде 1 передается если нужно получить доступ к checkbox'у можно передать его таким образом
<input type="checkbox" id="favID" onChange="change(this)" />
<script>
function change(checkbox)
{if(checkbox.checked...
</script>
умножать на 1 имеет смысл только строки, а лучше Number(f1.kol_checked.value) или parseInt(f1.kol_checked.value) |
Спасибо за ЦУ, подправила. но основная проблема так и не решена считать начинает все также только после изменения второго чекбокса, и блокировка чекбокса срабатывает при переходе к следующему элементу :(
|
одну беду разрешила, пришла другая :)
в общем, теперь у нас все реагирует на событие onClick
<form name="f1">
<table>
<tr><td><input type="checkbox" id="favID01" onClick="change(this)" /></td><td>куплю</td><td>222-22-22</td></tr>
<tr><td><input type="checkbox" id="favID02" onClick="change(this)" /></td><td>Продам</td><td>111-11-11</td></tr>
<tr><td><input type="checkbox" id="favID03" onClick="change(this)" /></td><td>Поменяю</td><td>789-88-88</td></tr>
<tr><td><input type="checkbox" id="favID04" onClick="change(this)" /></td><td>Отдам</td><td>999-99-99</td></tr>
</table>
<input type="text" name="kol_checked" value="0">
<DIV>
<input type="button" value="Добавить отмеченное в избранное" onClick="add_fav(f1.kol_checked.value)" checked="checked">
<a href="favorite.html"><span id="fav_count">Избранное ()</span></a>
</DIV>
</form>
Теперь, не смотря на условие и состояние чекбокса (поставленна там галочка или нет) он все равно прибавляет 1 :(
var i;
i=f1.kol_checked.value;
function change(checkbox)
{ if(checkbox.checked==true)
{f1.kol_checked.value=f1.kol_checked.value*1-1;}
else
{f1.kol_checked.value=1+f1.kol_checked.value*1;}
}
|
Все. Нашла все ошибки. Всем спасибо за участие :rolleyes:
|
| Часовой пояс GMT +3, время: 11:53. |