webForumDet fria alternativet

Checkbox ska aktivera/avaktivera knappar

JavaScript

10 svar · 1 822 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#1

Jag har nio knappar som antingen kan vara tända eller släckta. Sen har jag en massa tabellrader som var och en har en checkbox. När man bockar i checkboxen så ska en knapp tändas/släckas beroende på vad den här checkboxen har för värden.

Alltså:
checkbox1 har följande värde: 011011101 där 0 är släckt och 1 är tänd.
Sen har jag en meny med 9 bilder som tänds eller släcks beroende på denna checkbox värden.

Förstår ni hur jag menar?

Vad jag nu undrar är - var börjar jag? Jag har aldrig skrivit ett javascript tidigare och skulle behöva en knuff i rätt riktning. :)

Medlem sedan juni 20019 519 inlägg
#2

loopar ut strängens längd och kolla med substring och var i loopen du är (for i=0....)

Fast detta är kanske inte det du undrade över. är det så att checkboxar kan ha:

checkbox1 - 011011101
checbkox2 - 101111001

vad händer om båda markeras? skall man filtrera på alla 1:or eller skall det vara den man markerade sist som har högst prio?

Medlem sedan apr. 200312 679 inlägg
#3

voigtann1 skrev:

loopar ut strängens längd och kolla med substring och var i loopen du är (for i=0....)

Fast detta är kanske inte det du undrade över. är det så att checkboxar kan ha:

checkbox1 - 011011101
checbkox2 - 101111001

vad händer om båda markeras? skall man filtrera på alla 1:or eller skall det vara den man markerade sist som har högst prio?

Jag har gjort så här:

        var allowedButtons = "11111111111";
        var checkedButtons = new Array();

        function DoTheCheck(checkbox) {
            
            var id = checkbox.id;
            
            if (checkbox.checked == true) {
                checkedButtons.push(id);
            } else {
                checkedButtons = jQuery.grep(arr, function (id) {return value != removeItem;});
            }

            var buttons = allowedButtons.split("");

            for (i = 0; i < checkedButtons.length; i++) {
                var cbox = $("#" + checkedButtons[i]);
                var a = (cbox.val() + "").split("");

                for (j = 0; j < buttons.length; j++) {
                    buttons[j] = buttons[j] & a[j];
                }

                alert(a);
            }
            alert(buttons);
        }

Dock så får jag inte till den delen när man tar bort en bock ur krysslådan så tar den inte bort artikeln i arrayen.

Har jag en knapp som ser ut så här:
11000000000 och en:
00111111111

Så ska det bli 00000000000 om de är markerade. Vilket min kod nu gör, bara det att det inte går ta bort något ur arrayen.

Några idéer där? Nu klagar den här:

else {
     checkedButtons = jQuery.grep(arr, function (id) {return value != removeItem;});
}
Medlem sedan juni 20019 519 inlägg
#4

removeItem finns inte med i din kod. Men den kommer bara gemföra en sträng mot en annan

Medlem sedan apr. 200312 679 inlägg
#5
([B]arr[/B], function (id)

Den klagar på att arr är 'odefinierad'. Men är lite vilse nu känner jag.

Medlem sedan juni 20019 519 inlägg
#6

arr finns ju inte heller, är det checkedButtons du vill ha där istället?

Medlem sedan apr. 200312 679 inlägg
#7

voigtann1 skrev:

arr finns ju inte heller, är det checkedButtons du vill ha där istället?

Ja, kanske. Men då klagar den i stället på att value är odefinierat. :)

checkedButtons = jQuery.grep(checkedButtons, function (btnId) { return [B][U]value[/U][/B] != removeItem; });
Medlem sedan juni 20019 519 inlägg
#8

value finns ju inte heller ;) tror du krånglar till det

http://jsbin.com/azobu3/edit är det detta du är ute efter?

Medlem sedan apr. 200312 679 inlägg
#9

voigtann1 skrev:

value finns ju inte heller ;) tror du krånglar till det

http://jsbin.com/azobu3/edit är det detta du är ute efter?

Gjorde du detta nu?!

Medlem sedan juni 20019 519 inlägg
#10

Ja

Medlem sedan apr. 200312 679 inlägg
#11

Så jäkla läckert! Tack för hjälpen. :bire Nu ska jag grotta ner mig i den här! :)

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)