|
|
|
| Добрый день.
Мне надо в самой ссыке прописать следующие действия:
При первом нажатии переменная $a="checked",
При повторном $a="";
Как это сделать? Подскажите пожалуйста, т. к. с JavaScript пока не приходилось работать, а вещь очень нужная. Обязательно в скором времени изучу. | |
|
|
|
|
|
|
|
для: Diman
(30.06.2006 в 15:11)
| | Да, кстати есть вариант преложения получше. Как сделать так, чтобы в таблице нажать на один верхний чекбокс выделяются все. При повторном выделение сменяется. Это действие можно просмотреть к примеру на любой яндексной почте. | |
|
|
|
|
|
|
|
для: Diman
(30.06.2006 в 15:27)
| | Вот ссылка
<script>var x</script>
<a href="#" onclick="x?$a=x='':$a=x='checked';alert($a)">абвгд</a>
|
Вот чекбокс
<form>
<input type="checkbox" name="aa" onclick=
"var l=bb.length;while(l--)bb[l].checked=aa.checked">
<br>
<input type="checkbox" name="bb">
<input type="checkbox" name="bb">
<input type="checkbox" name="bb">
</form>
|
| |
|
|
|
|
|
|
|
|
для: AlexSol
(30.06.2006 в 17:45)
| | Огромное спасибо за ваши предложения, но всё-таки у меня чего-то не получается. А последний вариант буду разбирать дома, уж слишком много сразу информации.
Перейдем к делу.
Встречается в программе такая строка (главный чекбокс, это в самой шапке таблицы)
<input type="checkbox" name="aa" onclick=
"var l=id.length;while(l--)id[l].checked=aa.checked">
Затем следуют какие-то строки, запрашивается запрос из БД и начинается сам вывод данных в таблицу
my @result;
while ( @result = $q->fetchrow_array() )
{
...
print "<td><input type='checkbox' name='id' value=$result[0] $a></td>";
...
}
В последствии эту форму будет обрабатывать другой скрипт, где принимается параметр id. Ну это не так важно. Главное чтобы в цикле переменная $a принимала соответственно значения '' или 'checked' в соответствии при нажатаии на главный чекбокс. Что не так?
P.S. Пишу на Perl, ну это не важно. | |
|
|
|
|
|
|
|
для: Diman
(03.07.2006 в 10:58)
| | Я всё сдела так как описал RWW для чекбокса, но тогда главный чекбокс работает, но зато параметр id не передает значение. Как тогда быть?
print "<input type='checkbox' name='bb' id=$result[0]></td>"; | |
|
|
|
|
|
|
|
для: Diman
(03.07.2006 в 11:42)
| | У нас была задача включить/выключить группу чекбоксов при вкл/выкл
одного чекбокса.
Я не знаю должны ли при пересылке формы
передаваться id включённых чекбоксов, но value,
вроде должен
<input type='checkbox' name='bb' id='some_Id' value='some_value'>
при этом значения value для каждого чекбокса из группы должны
различаться, тогда на сервере можно будет их различать. | |
|
|
|
|
|
|
|
для: RMW
(03.07.2006 в 13:03)
| | Да, здесь я конечно не прав. Надо было сразу сказать, что у меня переменная будет передавать значения на сервер. Пробовал писать:
<input type='checkbox' name='bb' id='some_id' value='some_$result[0]'>
Но так и не передаются значения. Так как же сделать два имени в чекбоксе, одно из которых будет отвечать за галочки (в данном случае bb), а другое за передачу значений серверу. (имя bb полностью работает). | |
|
|
|
|
|
|
|
для: Diman
(03.07.2006 в 13:40)
| | Не пойму почему у вас value не передаётся, должно бы передаваться.
Его-то как раз и можно использовать в качестве "второго имени".
Попробуйте сделать предельно простую форму, чистый HTML,
c использованием value для инпутов и посмотрите, передаётся ли value
на сервер.
Или используйте JS код не требующий одинакового значения name для обхода инпутов.
Приблизительно такой:
<form>
<input type="checkbox" name="aa" onclick=
"var x=this.form.elements,l=x.length;
while(l--)if(x[l].type=='checkbox')x[l].checked=aa.checked">
<br>
<input type="checkbox" name="_0">
<input type="checkbox" name="_1">
<input type="checkbox" name="_2">
</form>
|
| |
|
|
|
|
|
|
|
для: RMW
(03.07.2006 в 19:30)
| | В этом коде проблем нет. Да и какие здесь могут быть проблемы, когда здесь для каждого поля чекбокс свое универсальное имя. Но я выше писал, что основной чекбокс находится в шпаке таблицы, т. е. перед самим циклом. А уже в цикле wile{} выбираются значения из БД и вставляются в поля. Вот там то и используется этот зловредный один чекбокс, который и должен иметь два имени. Каждый раз когда проходит цикл, то поле чекбокс появляется на новой строке для очередных записей из БД. Мне нужно чтобы было еще поле id, которое передает идент. номер нажатого чекбокса. Уже второй день пошел, как я ламаю голову над этой ерундой. Помогите пожалуйста. В моей разработке остался только этот единственный недочет.
P.S. А что значит в имени поля и value выражение 'some_...'? | |
|
|
|
|
|
|
|
для: Diman
(04.07.2006 в 09:10)
| | Ладно. Наверное я никак толком не могу изложить свою проблему. Но тогда скажите пожалуйста, как в поле чекбоксе чтобы при очередном клике переменная присваивала одно значение, а при повторном другое.
Написал к примеру так:
...
my $a;
....
print "<input type='checkbox' onclick='$a='':$a='checked';alert($a)'> ";
....
while {
print "<td><input type='checkbox' name='id' value='$result[0]' $a>";
}
Т. е. в главном чекбоксе $a должна изменять свое значение, а вот в цикле простого чекбокса это значение должно выводиься. | |
|
|
|
|
|
|
|
для: Diman
(04.07.2006 в 12:52)
| | Давай примеры на HTML и JavaScript.
Возможно тебе это подойдёт.
<script>var a;</script>
<input type="checkbox" onclick="a=this.checked">
|
В этом примере после щелчка на чекбоксе
меняется значение переменной a на true или false
в зависимости от того влючён был чекбокс или выключен. | |
|
|
|
|
|
|
|
для: Diman
(04.07.2006 в 09:10)
| | "some_" ничего не значит.
Имелось ввиду
<input type='checkbox' name='bb' id='любое значение' value='любое значение'> | |
|
|
|
|
|
|
|
для: RMW
(04.07.2006 в 12:54)
| | Всё, разобрался в чем дело. Самый первый ваш вариант был верен, только сама проблемка у меня заключалась в том, чтт и параметры надо было принимать по имени 'bb' , а не 'id'. Не знаю, что за HTML у меня, но два имени он не воспринимает.
Но объясните пожалуйста в чем заключается сама фишка. Почему я не могу использовать другое имя поля, а именно bb. Вроде бы по идеи, я могу вместо этого и id приписать или еще что-нибудь, а оказывается он только bb воспринимает. | |
|
|
|
|
|
|
|
для: Diman
(04.07.2006 в 13:52)
| | id это зарезервированное слово.
Его нельзя использовать как имя переменной.
Разумеется вместо "bb" можно использовать любое (корректное) имя для переменной. | |
|
|
|