Jeditable + JmaskedInput + новое динамическое поле - PullRequest
1 голос
/ 29 августа 2011

Хорошо,

Я использую 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-элемент, но не могу редактировать его с помощью 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);

        });         

Это порядок, который я использую. мч

Edit:

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

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

                    data: json,

                    type: "select",

                    onblur: "submit",

                    placeholder: "Mitarbeiter"

                });

            });

Даже это не работает; (

Ответы [ 2 ]

1 голос
/ 29 августа 2011

Это потому, что .editable() использует .bind(), что влияет только на элементы, которые уже существуют в DOM.Попробуйте следующий подход:

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

По сути, он наблюдает событие mouseenter в любом th > div.Когда это происходит, элемент div становится редактируемым.

0 голосов
/ 03 января 2013

Попробуйте использовать это с элементом, имеющим class="edit":

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