尝试使用.live和.toggle

时间:2011-04-07 16:58:33

标签: jquery

我有表格可让您在可编辑表格和值之间切换。我还有一个函数,可以让我动态添加表克隆。我需要能够在新创建的表上使用相同的切换功能。

我尝试使用.live函数进行切换,但这导致我必须在可编辑表单出现之前进行额外点击。如何解决此问题,因此我只需要点击一次?

$('.block a.submit').live('click', function(){
    $('.block a.submit').toggle(
        function(){
            $(this).text('Save').parent().each(function(){
                $(".value", this).hide();
                $(".edit", this).show();
                $(this).find('.edit :first').focus(); //focuses on first form element - less clicks
                $('thead').show();
            });
        },
        function(){
            $(this).text('Edit').parent().each(function(){
                $(".edit", this).hide();
                $(".value", this).show();
                $('thead').hide();
            });
        }
    );
});

这是我想要完成的一个粗略的模拟。唯一的主要区别是表格最初是隐藏的。 http://jsfiddle.net/z5C2F/

1 个答案:

答案 0 :(得分:1)

试试这个:

$('.block a.submit').live('click', function(){
    $(this).toggle(//you need to use this
        function(){
            $(this).text('Save').parent().each(function(){
                $(".value", this).hide();
                $(".edit", this).show();
                $(this).find('.edit :first').focus(); //focuses on first form element - less clicks
                $('thead').show();
            });
        },
        function(){
            $(this).text('Edit').parent().each(function(){
                $(".edit", this).hide();
                $(".value", this).show();
                $('thead').hide();
            });
        }
    );
});