jQuery替换元素并访问替换元素

ut_et 发布于 2019-03-15 jquery 最后更新 2019-03-15 14:53 4 浏览

我正在学习jQuery。我想添加一个功能,因此当用户用指定的类名单击td时,我想将其更改为select选项。并与选定的值,我想更新我的分贝。 在这里它没关系。我可以将td更改为input,但是我无法将更改事件中的事件添加到该替换元素。 这是我的:

(function($) {
var _defaults = {
        some : "defaults",
    };
$.fn.changetoi = function(options) {
var _opts = $.extend({}, _defaults, options);
$(this).on('click', function() {
            var replaced = $('<select name="status" class="changer"><option>Test</option></select>');
            $(this).replaceWith(replaced);
        });
$('.changer').on('change', function() { //here I'm try to access the changed element
            var value = $(".changer option:selected").text();
            //post the selected value
            $.post("test.php", {
                "value" : value
            }, function(data) {
                //whatever and
                $(this).replaceWith(value);
            });
        });
};
$('.change').changetoi();
})(jQuery);
这里是桌子,测试和http://jsfiddle.net/HZvH8/4/这样的小提琴
已邀请:

yut

赞同来自:

你需要像这样制作处理程序:

$(document).on('change', '.changer', function() {
在DOM就绪时不存在此元素,因此您将change()事件绑定到那里的元素。 演示:http://jsfiddle.net/tymeJV/HZvH8/5/