mardi 3 novembre 2015

JavaScript checkbox Tree - children automatic checked

folks!

I've a litte problem, this is the situation: Tree View

I let the tree on basis of the "lvl" create. That means, Bereich ABC is lvl1, Test1.docx is lvl4 and so on. So it's a "fake" Tree. But i have just this lvl information for every object. I have to check the checkbox if the parent is clicked. that means, if lvl3 is clicked (for example "Originale") the lvl4 and lvl5 have to be checked also.

Do you understand what i mean? I hope so. But i can't make it working. Do you have any ideas?

$('[class^=lvl]').click(function(){
                
                        var keepChecking = true;
                        var currentElement = $(this);
                        var clickedLevel = getLevel(currentElement);
                        var checkValue = currentElement.is(':checked');

                        while (keepChecking) {
                                
                                currentElement.attr('checked' , checkValue);
                                                        
                                // get next element
                                currentElement = getNextCheckbox(currentElement);
                                var currentLevel = getLevel(currentElement);
                                keepChecking = (currentLevel > clickedLevel);
                        }
                });
                
                function getNextCheckbox(checkbox) {
                        return checkbox.parent().parent().next().children(":first").children(":first");
                }
                
                function getLevel(checkbox) {
                        var currentClass = checkbox.attr('class');
                        var currentLvl = currentClass.substring(3, currentClass.length);
                        return parseInt(currentLvl);
                        
                }
    <TD class="center">
                <INPUT TYPE="checkbox" NAME="" class="lvl[LL_REPTAG=PFADLEVEL /] docCheck" VALUE="[LL_REPTAG=DataId /]">
        </TD>



Aucun commentaire:

Enregistrer un commentaire