не выходит посчитать отмеченные чекбоксы
Некокое подобие доски объявлений, вся основная суть не вжна важен маленкьий момент. надо выбрать необходимые строки (поставить галочку в чекбоксе) при этом в скрытом поле должна прибавиться 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, время: 21:24. |