オートコンプリート機能を使用している入力フィールドがあります。これだけを行うと、オートコンプリートが機能します。しかし:スパンを表示し、ユーザーがクリックしたときに入力ボックスに置き換えたいと思います。残念ながら、オートコンプリート機能が壊れます。次のコードを検討してください。
$(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」の通常のスパンです)。
入力とスパンの置き換えは正常に機能します。置換スクリプトなしのオートコンプリートも正常に機能します。しかし、両方を組み合わせると、オートコンプリート機能が壊れます。