Javascript 在引导typeahead中使用HTML-如何清理文本输入框的HTML
我需要在引导的typeahead框中使用HTML,以允许缩进项目 要得到这样的东西: 顶级项目Javascript 在引导typeahead中使用HTML-如何清理文本输入框的HTML,javascript,html,twitter-bootstrap,Javascript,Html,Twitter Bootstrap,我需要在引导的typeahead框中使用HTML,以允许缩进项目 要得到这样的东西: 顶级项目 缩进项目 下一项(未包含) 我通过将HTML放入我的typeahead数据源来实现这一点,如下所示: var ajaxData = {json: JSON.stringify(["Top-Level-Item<br />   Indented Item","Next Item (Unindented)"])}; var ajaxData
缩进项目
下一项(未包含) 我通过将HTML放入我的typeahead数据源来实现这一点,如下所示:
var ajaxData = {json: JSON.stringify(["Top-Level-Item<br />   Indented Item","Next Item (Unindented)"])};
var ajaxData={json:json.stringify([“顶级项目
缩进项目”,“下一个项目(未缩进)”]);
这在您得到的typeahead“drop down style”框中运行良好,但是当单击包含HTML的结果时,带有可读HTML标记的结果会被放入文本输入元素中
请参见下面的JSFIDLE,它显示了我的意思(开始键入'Alabama'以查看包含HTML的结果):
解决这个问题的最好办法是什么?我想在更新文本框之前清理HTML,但我不知道如何实现这一点(文本框的更新是通过内部厨房引导实现的,我不想弄乱它…)
欢迎提供其他/更好的想法 你可以这样做
$('.typeahead').on('change', function (e) {
this.value = this.value.replace(/<(?:.|\n)*?>/gm, '').replace(/ /gm,'');
});
$('.typeahead')。关于('change',函数(e){
this.value=this.value.replace(//gm',).replace(//gm',);
});
工作小提琴
谢谢!我确实想过这一点,但我假设在文本框中正常键入时也会触发
.on('change')
代码,并干扰用户输入,当然现在我发现只有在用户在文本框中键入HTML时才会发生这种情况,在这种情况下,这实际上是一件好事。当您在下拉列表中键入html代码的字符(如nbsp中的n)时,是否看到html文本?