0
それは期待どおりに動作、しかし、私は、私はkeydown or keyup
を押したときに、それはテキストボックス内のHTMLコンテンツを表示することをそれで見つかった問題の一つ。
マイコード:
$(".inputText").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/URL/Path",
data: JSON.stringify({ prefixText: inputvalue.value }),
dataType: "json",
success: function (data) {
var regex = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + request.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi");
response($.map(data.d, function (item) {
return {
label: item.split('$')[0].replace(regex, "<b style='background-color: #efbc04;font-color:black;'>$1</b>"),
val: item.split('$')[1],
desc: item.split('$')[2]
}
}))
},
error: function (result) {
alert("Error");
}
});
},
select: function (event, ui) {
$(".inputText").val(ui.item.desc);
__doPostBack("txtFirstName", "OnTextChanged");
return false;
}
})
.data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append('<a>' + item.label + '</a>')
.appendTo(ul);
};
私はあなたがそれが定義されている場所はまだ私は見ていない 'あなたのAJAXでinputvalue.value'の受け渡しを参照してください。私は 'request.term'を使うことを提案します。共有するいくつかのサンプルデータでフィーリングをセットアップできますか?私は問題がHTML要素がテキストボックスに保存することができないということだと思う - https://jsfiddle.net/Twisty/awo07frf/: – Twisty
は、この次のフィドルを作成することができました。要素には値の文字列が必要です。その文字列はレンダリングされません。あなたがしたいことは、フィールド内のテキストを書式設定し、マークアップを使用しようとしないスタイルを使用することだと思います。 – Twisty