我正在学习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/
的小提琴答案 0 :(得分:2)
您需要像这样制作处理程序:
$(document).on('change', '.changer', function() {
此元素在DOM就绪时不存在,因此您将change()
事件绑定到那里的元素。