webForumDet fria alternativet

Checkbox ska aktivera/avaktivera knappar

10 svar · 1 822 visningar · startad av silfver

silfverMedlem sedan apr. 200312 679 inlägg
#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. :)

voigtann1Medlem 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?

silfverMedlem 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;});
}
voigtann1Medlem 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

silfverMedlem 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.

voigtann1Medlem sedan juni 20019 519 inlägg
#6

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

silfverMedlem 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; });
voigtann1Medlem 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?

silfverMedlem 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?!

voigtann1Medlem sedan juni 20019 519 inlägg
#10

Ja

silfverMedlem 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! :)

127 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)