почему не показывает - (минус) изображение - вместо этого показывает + изображение

0

Я пытаюсь добавить добавить в пункт меню. Он показывает правильное изображение в первый раз, но когда я добавляю подменю, он не показывает правильное изображение.

Я только что воспользовался этой ссылкой:

http://www.webstutorial.com/jquery-treeview-list/jquery

Я сделал следующие шаги. Нажмите кнопку "Добавить", он отобразит список меню на левой панели. Я проверил левую панель. Когда я увеличил "+", нажав кнопку и нажав любую из подменю, нажав кнопку "добавить", он сгенерировал вложенное подменю, но должен показать кнопку "_". Но это шоу "+",

http://jsfiddle.net/PZR7N/

function addInmenu(id){

     var menuid="menu_"+id;
    // var data = $('#menuId li').html();
    if($('.tree li.parent').hasClass('active')){  
        var selSubMENUID = $("#selectedSubmenu").val();
        if( selSubMENUID ==""){
            $('#menuId li:first ').append('<ul style="display:block" ><li id=' + menuid + '><a>'+menuid+'</a></li> </ul>');}
        else{
        $("li#"+selSubMENUID).append('<ul style="display:block" ><li id=' + menuid + '><a>'+menuid+'</a></li> </ul>');
        }  
    }
    else{
        var selSubMENUID = $("#selectedSubmenu").val();
        if( selSubMENUID ==""){
            $('#menuId li:first ').append('<ul style="display:none" ><li id=' + menuid + ' class="submenu"><a>'+menuid+'</a></li> </ul>');}
        else{
        $("li#"+selSubMENUID).append('<ul style="display:none" ><li id=' + menuid + ' class="submenu"><a>'+menuid+'</a></li> </ul>');
        }          

    }
        $('.tree li').each(function () {
        if ($(this).children('ul').length > 0) {
            $(this).addClass('parent');
        }});
    $('.tree li.parent > a').unbind("click");
     $('.tree li.parent > a').on('click',function () {
       $(this).parent().toggleClass('active');
        $(this).parent().children('ul').slideToggle('fast');
    });

}

$(document).on('click',"li.submenu > a",function(e){
 //alert('jii'+this.id) ;
    $("#selectedSubmenu").val($(this).parent().attr('id'));
      //  $('li').removeClass('activeclass');

     //$(this).addClass('activeclass');
    $("#ultest").html('');
})
Теги:

1 ответ

0
Лучший ответ

Необходимо добавить "активный" в li, в котором добавлено новое подменю

проверьте на http://jsfiddle.net/rajumjib/PZR7N/6/

    $(function () {

    $('.slider-arrow').click(function () {
        var anchor = this;
        var removeClass = "show";
        var addClass = "hide";
        var diff = "+=300";
        var arrows = "&laquo;";
        if ($(anchor).hasClass("hide")) {
            diff = "-=300";
            removeClass = "hide";
            addClass = "show";
            arrows = "&raquo;";
        }
        $(".slider-arrow, .panel").animate({
            left: diff
        }, 700, function () {
            // Animation complete.
            $(anchor).html(arrows).removeClass(removeClass).addClass(addClass);
        });
    });

    $('.tree li').each(function () {
        if ($(this).children('ul').length > 0) {
            $(this).addClass('parent');
        }
    });


    $('#add').click(function () {
        var selSubMENUID = $("#selectedSubmenu").val();
        if( selSubMENUID ==""){

    var listItems = $("#ultest").children();
    var id;
    if (typeof ($("#ultest li:last").attr('id')) == 'undefined') {
        //alert('undefint');
        id = "tc_1"
    } else {
        id = $("#ultest li:last").attr('id');
        var index = id.indexOf("_");
        var count = id.substring(index + 1, id.length)
        count = parseInt(count);
        id = id.substring(0, index) + "_" + parseInt(count + 1);
       // alert(id)
    }

    $('#ultest').append('<li id=' + id + '><a href="#" class="foo">' + id + '</a></li>');
    //$('#ultest').listview('refresh');
        addInmenu(id);
    }else {
        var newID=selSubMENUID.substring(5,selSubMENUID.length);
         var listItems = $("#ultest").children();
    var id;
    if (typeof ($("#ultest li:last").attr('id')) == 'undefined') {
        //alert('undefint');
        id = newID+"_tc_1"
    } else {
        id = $("#ultest li:last").attr('id');
        alert('id'+id);
        var index = id.lastIndexOf("_");
        var count = id.substring(index + 1)
        count = parseInt(count);
        id = id.substring(0, index) + "_" + parseInt(count + 1);
       // alert(id)
    }
    $('#ultest').append('<li id=' + id + '><a href="#" class="foo">' + id + '</a></li>');
    //$('#ultest').listview('refresh');
        addInmenu(id);

    }
});

});

function addInmenu(id){

     var menuid="menu_"+id;
    // var data = $('#menuId li').html();
    if($('.tree li.parent').hasClass('active')){  
        var selSubMENUID = $("#selectedSubmenu").val();
        if( selSubMENUID ==""){
            $('#menuId li:first ').append('<ul style="display:block" ><li id=' + menuid + '><a>'+menuid+'</a></li> </ul>');}
        else{
            $("li#"+selSubMENUID).addClass('active');
        $("li#"+selSubMENUID).append('<ul style="display:block" ><li id=' + menuid + '><a>'+menuid+'</a></li> </ul>');
        }  
    }
    else{
        var selSubMENUID = $("#selectedSubmenu").val();
        if( selSubMENUID ==""){
            $('#menuId li:first ').append('<ul style="display:none" ><li id=' + menuid + ' class="submenu"><a>'+menuid+'</a></li> </ul>');}
        else{
            $("li#"+selSubMENUID).addClass('active');
        $("li#"+selSubMENUID).append('<ul style="display:none" ><li id=' + menuid + ' class="submenu"><a>'+menuid+'</a></li> </ul>');
        }          

    }
        $('.tree li').each(function () {
        if ($(this).children('ul').length > 0) {
            $(this).addClass('parent');
        }});
    $('.tree li.parent > a').unbind("click");
     $('.tree li.parent > a').on('click',function () {
       $(this).parent().toggleClass('active');
        $(this).parent().children('ul').slideToggle('fast');
    });

}

$(document).on('click',"li.submenu > a",function(e){
 //alert('jii'+this.id) ;
    $("#selectedSubmenu").val($(this).parent().attr('id'));
      //  $('li').removeClass('activeclass');

     //$(this).addClass('activeclass');
    $("#ultest").html('');
})

добавлен следующий код

$("li#"+selSubMENUID).addClass('active');

код имеет другие ошибки, которые необходимо исправлять

  • 0
    какие ошибки?
  • 0
    Я думаю, что я конфлит?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню