使用自动完成 JQuery (ASP.NET, C#) 时如何点击选择
How to clickable for selection when using AutoComplete JQuery (ASP.NET, C#)
我正在使用 JQuery 自动完成.
在文本框 上执行涉及 自动完成的任务
我使用的文件之一:jquery-ui.js
然后,我需要在匹配的文本上应用 粗体。
例如,如果我在文本框中插入“Jav”,它们应该显示 Java.
我应用了这部分并且成功了,
open: function (e, ui) {
var acData = $(this).data('ui-autocomplete');
acData
.menu
.element
.find('li')
.each(function () {
var me = $(this);
var keywords = acData.term.split(' ').join('|');
me.html(me.text().replace(new RegExp("(" + keywords + ")", "gi"),
'<b></b>'));
});
}
然而,当我 运行 文本框时,结果是这样的,我不能 select 项目并且当我悬停它时,它没有显示背景颜色.
Result before apply the code |
Result after apply the code
有人帮帮我,谢谢:)
我认为您的问题是您正在通过以下调用将默认 html 标记(OOB 样式需要工作)替换为文本值:
me.html(me.text(.....));
尝试检索您的 html 并将关键字换行,使用类似以下内容的内容:
me.html().find(keywords).wrap( "<strong></strong>" )));
顺便说一句,根据我从网上找到的信息,
只需要更换
这个,
me.html(me.text().replace(new RegExp("(" + keywords + ")", "gi"),
'<b></b>'));
对此,
me.html( me.text().replace(regex, function (matched) {
return termTemplate.replace('%s', matched);
}) );
代码前:
$("#<%=test.ClientID %>").autocomplete({
我需要放这个,
var termTemplate = "<span class='ui-autocomplete-term'>%s</span>";
并为 .ui-autocomplete-term
创建 css,我将其放入 text-weight: bold
我发现了,一边感叹怎么解决这个问题。现在好了。
我正在使用 JQuery 自动完成.
在文本框 上执行涉及 自动完成的任务我使用的文件之一:jquery-ui.js
然后,我需要在匹配的文本上应用 粗体。 例如,如果我在文本框中插入“Jav”,它们应该显示 Java.
我应用了这部分并且成功了,
open: function (e, ui) {
var acData = $(this).data('ui-autocomplete');
acData
.menu
.element
.find('li')
.each(function () {
var me = $(this);
var keywords = acData.term.split(' ').join('|');
me.html(me.text().replace(new RegExp("(" + keywords + ")", "gi"),
'<b></b>'));
});
}
然而,当我 运行 文本框时,结果是这样的,我不能 select 项目并且当我悬停它时,它没有显示背景颜色.
Result before apply the code | Result after apply the code
有人帮帮我,谢谢:)
我认为您的问题是您正在通过以下调用将默认 html 标记(OOB 样式需要工作)替换为文本值:
me.html(me.text(.....));
尝试检索您的 html 并将关键字换行,使用类似以下内容的内容:
me.html().find(keywords).wrap( "<strong></strong>" )));
顺便说一句,根据我从网上找到的信息, 只需要更换 这个,
me.html(me.text().replace(new RegExp("(" + keywords + ")", "gi"),
'<b></b>'));
对此,
me.html( me.text().replace(regex, function (matched) {
return termTemplate.replace('%s', matched);
}) );
代码前:
$("#<%=test.ClientID %>").autocomplete({
我需要放这个,
var termTemplate = "<span class='ui-autocomplete-term'>%s</span>";
并为 .ui-autocomplete-term
创建 css,我将其放入 text-weight: bold
我发现了,一边感叹怎么解决这个问题。现在好了。