|
|
|
|
|
для: HelloMoto
(08.07.2009 в 19:43)
| | Естественно, так как достигая нужного нам элемента, итерация цикла не равна индексу элемента (для повторяющихся индексов) | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 19:43)
| | Всё супер!!! Спасибо, sim5, за помощь и что не пожалел своего времени!
Удачи! | |
|
|
|
|
|
|
|
для: HelloMoto
(08.07.2009 в 19:25)
| | Тьфу ... с этими индексами, забыл про них.... перепишите строку в цикле так:
if (f[i].name.substr(9) == e) f[i].checked = c; | |
|
|
|
|
|
|
|
для: HelloMoto
(08.07.2009 в 19:25)
| | так работает -
<script>
function selectGroup(f, e, c) {
for(i=0; i<f.length; i++) {
if (f[i].name == "items["+i+"]."+e) f[i].checked = c;
}
}
</script>
<form name="form" action="" method="post">
<pre>
Выбрать все книги<input type="checkbox" onClick="selectGroup(this.form.elements, 'book', this.checked)">
Книга 1 <input id='b1' type='checkbox' value='yes' name='items[1].book'>
Книга 2 <input id='b2' type='checkbox' value='yes' name='items[2].book'>
Книга 3 <input id='b3' type='checkbox' value='yes' name='items[3].book'>
Выбрать все ручки<input type="checkbox" onClick="selectGroup(this.form.elements, 'pen', this.checked)">
Ручка 1 <input id='p1' type='checkbox' value='yes' name='items[5].pen'>
Ручка 2 <input id='p2' type='checkbox' value='yes' name='items[6].pen'>
Ручка 3 <input id='p3' type='checkbox' value='yes' name='items[7].pen'>
Выбрать всех оленей <input type="checkbox" onClick="selectGroup(this.form.elements, 'deer', this.checked)">
Олень 1 <input id='d1' type='checkbox' value='yes' name='items[9].deer'>
Олень 2 <input id='d2' type='checkbox' value='yes' name='items[10].deer'>
Олень 3 <input id='d3' type='checkbox' value='yes' name='items[11].deer'>
</pre>
</form>
|
но это блин ен совсем то....индексы должны повторяцца, как в первом случае. | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 19:13)
| | sim5, спасибо огромное!!
Работает тока с книгами. Почему-то с ручками и оленями не пашет. ХМ! Странно.. вроде должно... | |
|
|
|
|
|
|
|
для: HelloMoto
(08.07.2009 в 18:37)
| | Ну надо было сразу сказать, что не РНР, а то я бочку накатил.) Ну можно так:
<script>
function selectGroup(f, e, c) {
for(i=1; i<f.length; i++)
if (f[i].name == "items["+i+"]."+e) f[i].checked = c;
}
</script>
<form name="form" action="" method="post">
<pre>
Выбрать все книги<input type="checkbox" onClick="selectGroup(this.form.elements, 'book', this.checked)">
Книга 1 <input id='b1' type='checkbox' value='yes' name='items[1].book'>
Книга 2 <input id='b2' type='checkbox' value='yes' name='items[2].book'>
Книга 3 <input id='b3' type='checkbox' value='yes' name='items[3].book'>
Выбрать все ручки<input type="checkbox" onClick="selectGroup(this.form.elements, 'pen', this.checked)">
Ручка 1 <input id='p1' type='checkbox' value='yes' name='items[1].pen'>
Ручка 2 <input id='p2' type='checkbox' value='yes' name='items[2].pen'>
Ручка 3 <input id='p3' type='checkbox' value='yes' name='items[3].pen'>
Выбрать всех оленей <input type="checkbox" onClick="selectGroup(this.form.elements, 'deer', this.checked)">
Олень 1 <input id='d1' type='checkbox' value='yes' name='items[1].deer'>
Олень 2 <input id='d2' type='checkbox' value='yes' name='items[2].deer'>
Олень 3 <input id='d3' type='checkbox' value='yes' name='items[3].deer'>
</pre>
</form>
|
Проверяются все элементы формы (передаются первым аргументом) с именем необходимым (второй аргумент). Третий аргумент я передал на всякий случай - это текущее состояние управляющего чекбокса, именно оно и присваивается группе. А вдруг вам захочется этим же чекбоксом разотметить группу. Если не надо, то выбросить третий аргумент и приписывать явно - true.
Можно и первый аргумент не передавать, а определять в функции: по индексу формы на странице, по ее имени, по id. Ну в общем, думаю, вы это знаете, измените, если что. | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 18:31)
| | sim5, юзаю не ПХП, а Java + куча всякой дряни. Повторяю ещё раз - на серваке всё хорошо! :)
Вопрос в силе. | |
|
|
|
|
|
|
|
для: HelloMoto
(08.07.2009 в 18:29)
| | А зря уверены. Отметьте все свои чекбоксы и отправьте форму, сделав проверку на своем локальном сервере:
<?
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
<form action="" method="post"><pre>
<pre>
Выбрать все книги<input type='checkbox' name='sel_all'>
Книга 1 <input id='b1' type='checkbox' value='yes' name='items[1].book'>
Книга 2 <input id='b2' type='checkbox' value='yes' name='items[2].book'>
Книга 3 <input id='b3' type='checkbox' value='yes' name='items[3].book'>
Выбрать все ручки<input type='checkbox' name='sel_all'>
Ручка 1 <input id='p1' type='checkbox' value='yes' name='items[1].pen'>
Ручка 2 <input id='p2' type='checkbox' value='yes' name='items[2].pen'>
Ручка 3 <input id='p3' type='checkbox' value='yes' name='items[3].pen'>
Выбрать всех оленей <input type='checkbox' name='sel_all'>
Олень 1 <input id='d1' type='checkbox' value='yes' name='items[1].deer'>
Олень 2 <input id='d2' type='checkbox' value='yes' name='items[2].deer'>
Олень 3 <input id='d3' type='checkbox' value='yes' name='items[3].deer'>
<input type="submit" value="Send">
</pre></form>
|
И что у вас в итоге? | |
|
|
|
|
|
|
|
для: sim5
(08.07.2009 в 18:21)
| | да уверен.
sim5,спасибо за ваше беспокойство, но сорри.. мне нужна помощь в другом, а не в том, что я получу на серваке :)
я поэтому и обратился с этим вопросм на этот форум ибо не получилось у меня реализовать желаемое, то есть когда имена типа items[1].book, ну то есть с индексами... | |
|
|
|
|
|
|
|
для: HelloMoto
(08.07.2009 в 18:16)
| | Вы уверени что ГУТ? При выборе всех чекбоксов во всех трех группах, на сервере вы получите вот такое:
Array
(
[items] => Array
(
[1] => yes
[2] => yes
[3] => yes
)
)
|
Сомневаюсь чтобы вы из этого поняли, что выбрал клиент. | |
|
|
|
|