mardi 20 mars 2018

How to avoid using if else loop from the below code in jQuery

Could some one please help how to remove the repeated code.

I have four dashboard as a sample I have mentioned two here.

For all the dashboard same logic applies but when I try to apply the css depending upon condition using css class it does not work.

So, I have used ids and it works fine.

But I have to repeat and write the same conditions four times. which makes 48 if and else which is not at all good to go ahead with. Please help.

if(dashboard1!=null)
    {
    var status1 =$('#div-dashboard1. dashboard-table tbody tr:nth-child(2) td:nth-child(1)').text();
        var status2 =$('#div-dashboard1. dashboard-table tbody tr:nth-child(2) td:nth-child(2)').text();
        var status3 =$('#div-dashboard1. dashboard-table tbody tr:nth-child(4) td:nth-child(1)').text();
        var status4 =$('#div-dashboard1. dashboard-table tbody tr:nth-child(4) td:nth-child(2)').text();
        if(status1 ==minCount)
        {
            $('#div-dashboard1. dashboard-table tbody tr td #hlStatus1').addClass("div-circle-green1");
        }
        else if ((status1 > minCount) && (status1 <=avgCount))
        {
        $('#div-dashboard1. dashboard-table td #hlStatus1').addClass("div-circle-amber");       
        }
        else if (status1 >avgCount)
        {
        $('#div-dashboard1 .dashboard-table td #hlStatus1').addClass("div-circle_red1");
        }
        if(status2==minCount)
        {
            $('#div-dashboard1 .dashboard-table td #hlStatus2').addClass("div-circle-green1");
        }
        else if ((status2> minCount) && (status2<=avgCount))
        {
            $('#div-dashboard1.dashboard-table td #hlStatus2').addClass("div-circle-amber");        
        }
        else if (status2>avgCount)
        {
        $('#div-dashboard1.dashboard-table td #hlStatus2').addClass("div-circle_red1");
        }

if(status3==minCount)
        {
            $('#div-dashboard1 .dashboard-table tbody tr td #hlStatus3).addClass("div-circle-green1");
        }
        else if ((status3> minCount) && (status3<=avgCount))
        {
            $('#div-dashboard1 .dashboard-table tbody tr td #hlStatus3).addClass("div-circle-amber");       
        }
        else if (status3>avgCount)
        {
        $('#div-dashboard1 .dashboard-table td #hlStatus3').addClass("div-circle_red1");
        }

if(status4==minCount)
        {
            $('#div-dashboard1 .dashboard-table td #hlStatus4').addClass("div-circle-green1");
        }
        else if ((status4> minCount) && (status4<=avgCount))
        {
            $('#div-dashboard1 .dashboard-table td #hlStatus4').addClass("div-circle-amber");       
        }
        else if (status4>avgCount)
        {
        $('#div-dashboard1 .dashboard-table td #hlStatus4').addClass("div-circle_red1");
        }

    }
    if(dashboard2!=null)
    {
    var status1=$('#div-dashboard2 .dashboard-table tbody tr:nth-child(2) td:nth-child(1)').text();
        var status2=$('#div-dashboard2 .dashboard-table tbody tr:nth-child(2) td:nth-child(2)').text();
        var status3=$('#div-dashboard2 .dashboard-table tbody tr:nth-child(4) td:nth-child(1)').text();
        var status4=$('#div-dashboard2 .dashboard-table tbody tr:nth-child(4) td:nth-child(2)').text();
                if(status1 ==minCount)
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus1').addClass("div-circle-green1");
        }
        else if ((status1 > minCount) && (status1 <=avgCount))
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus1').addClass("div-circle-amber");       
        }
        else if (status1 >avgCount)
        {
        $('#div-dashboard2 .dashboard-table td #hlStatus1').addClass("div-circle_red1");
        }
        if(status2==minCount)
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus2').addClass("div-circle-green1");
        }
        else if ((status2> minCount) && (status2<=avgCount))
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus2').addClass("div-circle-amber");       
        }
        else if (status2>avgCount)
        {
        $('#div-dashboard2 .dashboard-table td #hlStatus2').addClass("div-circle_red1");
        }

if(status3==minCount)
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus3').addClass("div-circle-green1");
        }
        else if ((status3> minCount) && (status3<=avgCount))
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus3').addClass("div-circle-amber");       
        }
        else if (status3>avgCount)
        {
        $('#div-dashboard2 .dashboard-table td #hlStatus3').addClass("div-circle_red1");
        }

if(status4==minCount)
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus4').addClass("div-circle-green1");
        }
        else if ((status4> minCount) && (status4<=avgCount))
        {
            $('#div-dashboard2 .dashboard-table td #hlStatus4').addClass("div-circle-amber");       
        }
        else if (status4>avgCount)
        {
        $('#div-dashboard2 .dashboard-table td #hlStatus4').addClass("div-circle_red1");
        }
    }

Aucun commentaire:

Enregistrer un commentaire