0

クリックして次のレベルのデータを表示できる 5 つのレベルを持つツリービュー用の jQuery 関数を作成しましたが、最後に作業していたレベルがまったく機能していないようです。jQueryが呼び出されていないように思えます。通常、それが私のコントローラーである場合、少なくとも1秒間データのないツリーを開くためです。以下に、現在取り組んでいるレベルの jQuery と、その上のすべてのレベルを分析用に投稿しました。アドバイスや助けをいただければ幸いです。コントローラーも必要でしたら教えてください。

最下層のjQuery ここが動かない部分(クリックすらしない)

//Spend Category function for monthly
        pa_click = function (pa_label) {
            PA_ID = pa_label.getAttribute('pa_id');

        var pa_details = document.getElementById('pa-details-' + PA_ID);
        alert('message');
        jQuery.getJSON('@Url.Action("getAjaxSCs")', { PA: pa_label.title }, function (SCS) {
            pa_details.innerHTML = "";
            jQuery.each(SCS, function (index, SC) {
                months_html = '';
                for (var i = 0; i < 12; i++) {
                    months_html +=
                                        '<div id="SC-' + SC.SPEND_CATEGORY + '-' + months[i] + '" class="month-wrapper tree border-white">' +
                                        months[i] +
                                        '</div>';
                }

                pa_details.innerHTML +=
                alert('message');
                        '<div id ="Spend-Category-' + SC.SPEND_CATEGORY + '" class="sc-wrapper tree border">' +
                            '<div id ="sc-title-' + SC.SPEND_CATEGORY + '" class="sc-title">' +
                                '<div class = "sc-label" title = "' + SC.SPEND_CATEGORY + '" SC_id="' + SC.SPEND_CATEGORY + '" onclick = "sc_click(this)">' + SC.SPEND_CATEGORY + '</div>' +
                                months_html +
                            '</div>' +
                            '<div id="sc-details-' + SC.SPEND_CATEGORY + '" class = "pa-details" style = "display:none">' + SC.SPEND_CATEGORY + '</div>' +
                        '</div>';
            })
        });
        jQuery('#pa-details-' + PA_ID).show('slide', { direction: 'up' }, 'fast');

    };

jQuery全体

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        var IA_ID = 0;
        var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

        // Major Program function for monthly
        $(".ia-label").click(function () {

            IA_ID = this.getAttribute('investment_area_id');
            var ia_details = document.getElementById('ia-details-' + IA_ID);

            jQuery.getJSON('@Url.Action("getAjaxMPs")', { IA: this.title }, function (MPS) {
                ia_details.innerHTML = "";
                jQuery.each(MPS, function (index, MP) {
                    months_html = '';
                    for (var i = 0; i < 12; i++) {
                        months_html +=
                                            '<div id="MP-' + MP.MP_ID + '-' + months[i] + '" class="month-wrapper tree border-white">' +
                                            months[i] +
                                            '</div>';
                    }

                    ia_details.innerHTML +=
                            '<div id="MP-' + MP.MP_ID + '" class="mp-wrapper tree border">' +
                                '<div id="mp-title-' + MP.MP_ID + '" class="mp-title">' +
                                    '<div class="mp-label" title="' + MP.MP_NAME + '" major_program_id="' + MP.MP_ID + '" onclick="mp_click(this)">' + MP.MP_NAME + '</div>' +
                                    months_html +
                                '</div>' +
                                '<div id="mp-details-' + MP.MP_ID + '" class="mp-details" style="display:none">' + MP.MP_NAME + '</div>' +
                            '</div>';

                })
            });
            jQuery('#ia-details-' + IA_ID).show('slide', { direction: 'up' }, 'fast');





        });
        //Sub Program function for monthly
        mp_click = function (mp_label) {
            MP_ID = mp_label.getAttribute('major_program_id');
            var mp_details = document.getElementById('mp-details-' + MP_ID);

            jQuery.getJSON('@Url.Action("getAjaxSPs")', { MP: mp_label.title }, function (SPS) {
                mp_details.innerHTML = "";
                jQuery.each(SPS, function (index, SP) {
                    months_html = '';
                    for (var i = 0; i < 12; i++) {
                        months_html +=
                                            '<div id="SP-' + SP.SP_ID + '-' + months[i] + '" class="month-wrapper tree border-white">' +
                                            months[i] +
                                            '</div>';
                    }

                    mp_details.innerHTML +=
                            '<div id ="Sub-Program-' + SP.SP_ID + '" class="sp-wrapper tree border">' +
                                '<div id ="sp-title-' + SP.SP_ID + '" class="sp-title">' +
                                    '<div class = "sp-label" title = "' + SP.SP_NAME + '" sub_program_id="' + SP.SP_ID + '" onclick="sp_click(this)">' + SP.SP_NAME + '</div>' +
                                    months_html +
                                '</div>' +
                                '<div id="sp-details-' + SP.SP_ID + '" class = "mp-details" style = "display:none">' + SP.SP_NAME + '</div>' +
                            '</div>';
                })
            });
            jQuery('#mp-details-' + MP_ID).show('slide', { direction: 'up' }, 'fast');

        };

        //PA function for monthly
        sp_click = function (sp_label) {
            SP_ID = sp_label.getAttribute('sub_program_id');
            var sp_details = document.getElementById('sp-details-' + SP_ID);

            jQuery.getJSON('@Url.Action("getAjaxPAs")', { SP: sp_label.title }, function (PAS) {
                sp_details.innerHTML = "";
                jQuery.each(PAS, function (index, PA) {
                    months_html = '';
                    for (var i = 0; i < 12; i++) {
                        months_html +=
                                            '<div id="PA-' + PA.PA + '-' + months[i] + '" class="month-wrapper tree border-white">' +
                                            months[i] +
                                            '</div>';
                    }

                    sp_details.innerHTML +=

                            '<div id ="PA-' + PA.PA + '" class="sp-wrapper tree border">' +
                                '<div id ="pa-title-' + PA.PA + '" class="pa-title">' +
                                    '<div class = "pa-label" title = "' + PA.PA + '" PA_id="' + PA.PA + '" onlclick = "pa_click(this)">' + PA.PA + '</div>' +
                                    months_html +
                                '</div>' +
                                '<div id="pa-details-' + PA.PA + '" class = "sp-details" style = "display:none">' + PA.PA + '</div>' +
                            '</div>';
                })
            });
            jQuery('#sp-details-' + SP_ID).show('slide', { direction: 'up' }, 'fast');

        };

        //Spend Category function for monthly
        pa_click = function (pa_label) {
            PA_ID = pa_label.getAttribute('pa_id');

            var pa_details = document.getElementById('pa-details-' + PA_ID);
            alert('message');
            jQuery.getJSON('@Url.Action("getAjaxSCs")', { PA: pa_label.title }, function (SCS) {
                pa_details.innerHTML = "";
                jQuery.each(SCS, function (index, SC) {
                    months_html = '';
                    for (var i = 0; i < 12; i++) {
                        months_html +=
                                            '<div id="SC-' + SC.SPEND_CATEGORY + '-' + months[i] + '" class="month-wrapper tree border-white">' +
                                            months[i] +
                                            '</div>';
                    }

                    pa_details.innerHTML +=
                    alert('message');
                            '<div id ="Spend-Category-' + SC.SPEND_CATEGORY + '" class="sc-wrapper tree border">' +
                                '<div id ="sc-title-' + SC.SPEND_CATEGORY + '" class="sc-title">' +
                                    '<div class = "sc-label" title = "' + SC.SPEND_CATEGORY + '" SC_id="' + SC.SPEND_CATEGORY + '" onclick = "sc_click(this)">' + SC.SPEND_CATEGORY + '</div>' +
                                    months_html +
                                '</div>' +
                                '<div id="sc-details-' + SC.SPEND_CATEGORY + '" class = "pa-details" style = "display:none">' + SC.SPEND_CATEGORY + '</div>' +
                            '</div>';
                })
            });
            jQuery('#pa-details-' + PA_ID).show('slide', { direction: 'up' }, 'fast');

        };





    });
</script>
4

1 に答える 1