填充(大部分)不相关的元素时,Datalist会被破坏

时间:2014-12-26 22:49:23

标签: jquery html html5 google-chrome datalist

TL; DR:我不知道为什么这会在Chrome中被破坏,但是任何微小的改变都会奇迹般地修复它。

http://jsfiddle.net/x78hxxxy/

Backstory:我用字符串化的JSON填充元素。这样做会打破页面上整个表单中的所有数据列表,但仅限于CHROME。

这个简化的小提示显示<input>的数据主义者工作(输入上的向下箭头表明它确实有一个数据主义者,但没有任何反应!)

奇迹般地解决它的事情:

  • 不应用JQuery .html()函数(但我需要这样做)
  • 从JSON中删除字符(同时仍然提供有效的JSON ...不要删除括号等)
  • 删除<form>代码
  • 删除<div>代码
  • 删除单独的<input>
  • JSON.stringify()函数
  • 中删除空格
  • 不使用Chrome(是的,这是一个长期的解决方案)

无法修复的事情:

  • 尝试使用$. ... .attr("list","mylist1")
  • 重新应用数据列表
  • 直接使用JSON并直接应用字符串:http://jsfiddle.net/x78hxxxy/1/
  • 编辑:使用JQuery 2.x.x而不是1.x.x
  • 编辑:将双引号转换为HTML实体,感谢@charlietfl:)
  • 编辑:使用纯Javascript(没有JQuery !!!):jsfiddle.net/x78hxxxy/4 /

我搜索了Chromium问题但找不到任何东西......我偶然发现了什么虫子?

1 个答案:

答案 0 :(得分:0)

前段时间,我已将此作为Chromium错误报告提交,看起来版本为41.X的chrome(现在已稳定)已经解决了这个问题。还有其他相关问题,版本41中的修复似乎解决了大多数(如果不是全部)它们。

Chromium问题: https://code.google.com/p/chromium/issues/detail?id=445385