Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在引导typeahead中使用HTML-如何清理文本输入框的HTML_Javascript_Html_Twitter Bootstrap - Fatal编程技术网

Javascript 在引导typeahead中使用HTML-如何清理文本输入框的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 />&nbsp;&nbsp&nbsp;Indented Item","Next Item (Unindented)"])}; var ajaxData

我需要在引导的typeahead框中使用HTML,以允许缩进项目

要得到这样的东西:

顶级项目
缩进项目
下一项(未包含)

我通过将HTML放入我的typeahead数据源来实现这一点,如下所示:

var ajaxData = {json: JSON.stringify(["Top-Level-Item<br />&nbsp;&nbsp&nbsp;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(/&nbsp;/gm,'');
});
$('.typeahead')。关于('change',函数(e){
this.value=this.value.replace(//gm',).replace(//gm',);
});
工作小提琴

谢谢!我确实想过这一点,但我假设在文本框中正常键入时也会触发
.on('change')
代码,并干扰用户输入,当然现在我发现只有在用户在文本框中键入HTML时才会发生这种情况,在这种情况下,这实际上是一件好事。当您在下拉列表中键入html代码的字符(如nbsp中的n)时,是否看到html文本?