Jeditable + JmaskedInput +新的动态字段

时间:2011-08-29 11:51:07

标签: jquery jeditable html-table

确定,

我正在使用jeditable + jmaskedinput来操纵我的表。

$(".edit_user").editable("save.php", { 

                    data: '{"84":"Test User","85":"Test User"," ":" "}',

                    type: "select",

                    onblur: "submit",



                });

在此之后,我想在我的表格中添加一个新列。

$('table.schichtplan tr:first').append('<th><div class="add_user" id="xyz">User</div></th>');

我通过按钮调用上面的内容;​​)

所以我添加了一个新的TH-Element但我无法通过jeditable编辑它。

我的代码:

        $(".edit_employee").editable("save.php", { 

                data: some json,

                type: "select",

                onblur: "submit",

                placeholder: "Mitarbeiter"

            });



        $('#add_employee').click(function(){

            var tage = $('table.schichtplan tr').length-4;

            var sort_id = $('table.schichtplan').find('tr')[0].cells.length-1;

            var new_th = '<th><div id="plan_id:'+plan_id+';sort_id:'+sort_id+'" class="edit_employee">Mitarbeiter</div></th>';

            $('table.schichtplan tr:first').append(new_th);

        });         

这是我使用的顺序。嗯

编辑:

   $('th > div').live('mouseenter',function(){

                $(this).editable("save.php", { 

                    data: json,

                    type: "select",

                    onblur: "submit",

                    placeholder: "Mitarbeiter"

                });

            });

即使这不起作用;(

2 个答案:

答案 0 :(得分:1)

那是因为.editable()正在使用.bind(),它只会影响DOM中已存在的元素。尝试以下方法:

$('th > div').live('mouseenter', function() {
    $(this).editable(...);
});

基本上,它会观察任何mouseenter上的th > div事件。当它发生时,它会使div元素可编辑。

答案 1 :(得分:0)

尝试使用包含class="edit"的元素:

$(document).on('mouseenter','.edit', function() {
    $(this).editable('updatedata.php');
});