在bootstrap下拉菜单中应用jqueryvalidation
我有以下bootstrap下拉菜单:
这个脚本让它下拉:
$(document.body).on('click', '.dropdown-menu li', function(event) { var $target = $(event.currentTarget); $target.closest('.btn-group').find( '[data-bind="label"]').text( $target.text()).end().children('.dropdown-toggle').dropdown('toggle'); return false; });
如何在其上应用jquery validation ,在id为my_li_id_0的元素上引发错误?
jQuery Validate插件只能validationform
容器中包含的input
, textarea
和select
元素。 它无法validation无序列表。 ( 编辑:在较新的版本中,它还可以使用contenteditable
属性validation某些类型的元素。 )
您将不得不构建一个变通方法。 这样的东西……
-
将事件绑定到Bootstrap下拉菜单,该菜单在用户进行或更改选择时触发。
-
每当触发#1中的事件时,将列表中的所需值复制到隐藏的
input
元素中。 -
将插件的
ignore
选项设置为[]
这样就不会忽略任何内容并validation隐藏的input
元素。 -
在隐藏
input
元素的name
上设置validation规则。 -
使用上面#2函数中的
.valid()
方法,只要选择被更改,就会触发隐藏input
元素的validation测试。 -
在插件的
errorPlacement
回调函数中使用条件将validation消息放在与Bootstrap下拉菜单更相关的位置。 您需要一个条件才能保留其他元素的默认错误放置代码。
BTW:你的数字id
…
…在HTML5中可能在技术上是正确的,但是,以数字开头的id
可能是其他方面的问题。 更多信息: HTML中id属性的有效值是什么?