Javascript, помощ за функция!

sizif

Registered
Здравейте!

Използвам ето тази функция за маркиране и размаркиране на чекбоксове:

<script>

function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname+"."+checkname)
for (c=0;c<el_collection.length;c++)
el_collection[c].checked=thestate
}
</script>

В оригинала функцията се извиква чрез кликване върху анчър:

<form name="test">
<input type="checkbox" ID="v1"> Едно<br>
<input type="checkbox" ID="v1"> Две<br>
<input type="checkbox" ID="v1"> Три<br>
</form>

<a href="javascript:checkall('test','v1',true)">Check All</a><br>
<a href="javascript:checkall('test','v1',false)">Uncheck All</a>

Замених ги с бутони:

<INPUT TYPE="button" NAME="" VALUE="Chek all" onClick="javascript:checkall('test','v1',true)";>
...
...

Налага ми се обаче да сложа само един бутон, к да поеме и двете функции: маркиране и размаркиране.
Опитах се по аналогия с други скриптове да допълня функцията, но не успях.
Моля, помогнете!

ПП: На страницата бутонът ще е изображение, дефинирано в стиловия шаблон - CLASS=" ", т.е. трябва да се сменя и името с което викам класа в зависимост дали стойността на бутона ще е за маркиране или размаркиране.
 
пробвай така:
Код:
<script>
function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname+"."+checkname)
for (c=0;c<el_collection.length;c++)
el_collection[c].checked=thestate;
var e = document.getElementById('buton');
var e2 = document.getElementById('buton2');
if(thestate == true){
e2.style.display = 'inline';
e.style.display = 'none';
}
else {
e.style.display = 'inline';
e2.style.display = 'none';
}
}
</script>

<INPUT TYPE="button" NAME="" class='lq' id='buton' VALUE="Chek all" onClick="javascript:checkall('test','v1',true)";>
<INPUT TYPE="button" NAME="" class='lq2' style='display:none' id='buton2' VALUE="UnChek all" onClick="javascript:checkall('test','v1',false)";>


малко тъпо ама ефективно :)
 
bafitu,

Работи идеално! +1т.
Аз се опитах да го направя като допълнителна функция, к да изписва стойността на класа и да сменя аргумента при извикване на основната функция, но не успях да вържа двете да работят в синхрон...

Благодаря много!
 

Back
Горе