日期:2014-05-16  浏览次数:20751 次

Jquery bind unbind问题
本帖最后由 showbo 于 2014-02-17 10:05:07 编辑
最终效果:当鼠标第一次点击一级分类时,一级分类下显示出二级分类,再次单击一级分类是二级分类隐藏,以此类推,

目前问题:当单击一级分类时,二级分类显示,这时一级分类失去click事件(因我在代码中使用了,unbind方法)如果不用这会出现累加问题,

请看代码:

//一级商品分类
$.ajax({

    url: "GoodsParentType",
    dataType: "json",
    async: true,
    success: function (json){
    $.each(json,function(i){
        $("<dt id="+json[i].EPP_ID+">"+json[i].EPP_NAME+"</dt>").appendTo("#type");


    })

    $("#type dt").bind("click",function(){

        var str=$(this).attr("id");

        $(this).toggle(
                function () {

                    $(this).show();

                },
                function () {
                    $(this).hide();
                }
        );

        $(this).unbind("click");
        //二级商品分类
        $.ajax({
            url:"GetCategory?parent_id="+str+"",
            dataType: "json",
            async:true,
            success:function(CategoryJson){
            $.each(CategoryJson,function(i){
                $("<dd>"+CategoryJson[i].epc_Name+"</dd>").insertAfter("#"+str+"")
            })
        }
        })
    })
}

})
     



------解决方案--------------------
 $("#type dt").bind("click",function(){

        var str=this.id;

        $('#'+str).on('click',function(){
                function () {

                    $('#'+str).children().toggle();

                }
              
       } );

ajax添加数据后,怎么在页面显示(无刷新)