0

我在制作任务树时遇到问题,我有动态复选框。基本上,如果选中了顶级(父任务),我希望它检查所有子任务(子框)。我有这个在我的一个任务树上工作,但由于某种原因不能让它为我的另一个工作。

<script>
$(function() {

    $.ajaxSetup( { cache: false } );
    $('.task-tree').tree({
        ui: {
            theme_name: 'checkbox'
        },
        plugins : {
            checkbox: { three_state: false }
        },
        callback: {
            onload: function( tree ) {
                tree.open_all();
                $('.task-tree li a').each( function() {
                    var taskID = GetIdNum( $(this).attr('id') );
                    if ( $('#Task' + taskID + 'Enabled').val() == 1 )
                    {
                        console.log( $(this).parent() );
                        jQuery.tree.plugins.checkbox.check( $(this).parent() );
                    }
                });
            },
            onchange: function( node, tree ) {
                var selectedID = GetIdNum( $(node).find('a').attr('id') );
                var required = $('#Task' + selectedID + 'Required').val();
                console.log( 'REQ --> ' + required );

                if ( required == 1 )
                {
                    return false;
                }
                else
                {                   
                    $('.task-tree li a').each( function() {
                        var taskID = GetIdNum( $(this).attr('id') );
                        console.log( taskID );
                        $('#Task' + taskID + 'Enabled').val(1);
                    });
                    console.log( '----------------------------------------------' );

                    var unchecked = jQuery.tree.plugins.checkbox.get_unchecked(tree).find('a.not-required');
                    $(unchecked).each( function(){
                        var taskID = GetIdNum( $(this).attr('id') );
                        console.log( taskID );
                        $('#Task' + taskID + 'Enabled').val(0);
                    });     
                    console.log( '*************************************************' );
                }
            }
        }
    });

});

如果您需要有关该问题的更多信息,请告诉我。

4

0 回答 0