我有一个使用自动完成功能的输入字段。当我只这样做时,自动完成工作。但是:当用户单击它时,我想显示一个跨度并将其替换为输入框。不幸的是,自动完成功能中断。考虑以下代码:
$(function () {
$('#my_span').live('click', function () {
var input = $('<input />', {'type': 'text', 'id': 'my_input', 'name': 'my_input', 'value': $(this).html()});
$(this).parent().append(input);
$(this).remove();
input.focus();
}
);
$('#my_input').live('blur', function () {
$(this).parent().append($('<span />' , {'id': 'my_span'}).html($(this).val()));
$(this).remove();
});
});
$("#my_input").autocomplete({
source: function(req, resp) {
$.getJSON("http://localhost/grootjeframework/testproject/json/find/partij/naam/" + encodeURIComponent(req.term), resp);
},
select: function(event,ui){
//do Stuff
}
});
(编辑器将我的 HTML 跨度视为跨度元素;)所以我不能发布它。供您参考:它只是一个 ID 为“my_span”的正常跨度)
替换输入和跨度工作正常。没有替换脚本的自动完成功能也可以正常工作。但是,将两者结合起来,自动完成功能就会中断。