JQueryvalidation未捕获的TypeError:无法读取未定义的属性“设置”

我在JQuery Mobile表单上使用JQuery Validate,该表单具有动态创建的自动完成选项的列表视图。

如果您尝试在validation处于活动状态时键入自动完成字段,则会出现此错误。

我可以看到问题与jQuery Mobile创建的用于保存filter输入的forms有关但我无法弄清楚如何通过validation字段来停止jQuery Validate。

我可以使用JS Fiddle重现它

(按validation,然后键入filter框)

任何建议赞赏

谢谢

  jQuery.validator.setDefaults({ ignore: '[data-type="search"]' });  

您的整个问题是由listview()函数创建的动态HTML引起的。 检查DOM会发现这会动态创建一个新的

容器。 由于你已经在你的

容器中放置了listview ,你现在将

嵌套在

,这是非常无效的HTML,以及jQuery Validate插件工作的全部原因不料。

解决方案是将listview元素放在

容器之外。