jQuery Selectric(select 替换)验证
jQuery Selectric (select replacement) validation
我在我的网页设计中使用了 Selectric (http://lcdsantos.github.io/jQuery-Selectric/)。
我想强制用户从 select 中选择选项(与默认选项不同)并通过 jQuery 验证插件 (http://jqueryvalidation.org/) 验证此事件。
问题是 Selectric 将 select 选项构建为 <li>
元素(隐藏 HTML select),所以我无法验证它。
有什么想法吗?
Problem is that Selectric builds select options as <li>
elements (hides HTML select) so I can't validate it.
是的,确实如此;您可以仅验证<textarea>
、<select>
和某些类型的<input>
元素。
但是,有一个解决方法,因为原来的 select
元素被简单地隐藏了...
您需要了解 name
或检查您的 DOM 以获得隐藏的 <select>
元素的 name
属性。我们称它为 mySelect
.
允许插件通过将 ignore
选项设置为 "nothing" 来验证隐藏元素,如下所示:ignore: []
假设您正在尝试制作 Selectric 元素 "required",请在隐藏的 <select>
元素上声明 required
规则。
由于用户没有与隐藏的 <select>
进行交互,所以插件没有触发验证的事件触发器。编写一个自定义处理程序,它将在隐藏元素的值发生变化时以编程方式触发对隐藏元素的验证。
$('select[name="mySelect"]').on('change', function() { // fires when the value changes
$(this).valid(); // trigger validation on hidden select
});
使用插件的 the errorPlacement
option 将错误消息放置在动态生成的 Selectric 元件附近。
我在我的网页设计中使用了 Selectric (http://lcdsantos.github.io/jQuery-Selectric/)。
我想强制用户从 select 中选择选项(与默认选项不同)并通过 jQuery 验证插件 (http://jqueryvalidation.org/) 验证此事件。
问题是 Selectric 将 select 选项构建为 <li>
元素(隐藏 HTML select),所以我无法验证它。
有什么想法吗?
Problem is that Selectric builds select options as
<li>
elements (hides HTML select) so I can't validate it.
是的,确实如此;您可以仅验证<textarea>
、<select>
和某些类型的<input>
元素。
但是,有一个解决方法,因为原来的 select
元素被简单地隐藏了...
您需要了解
name
或检查您的 DOM 以获得隐藏的<select>
元素的name
属性。我们称它为mySelect
.允许插件通过将
ignore
选项设置为 "nothing" 来验证隐藏元素,如下所示:ignore: []
假设您正在尝试制作 Selectric 元素 "required",请在隐藏的
<select>
元素上声明required
规则。由于用户没有与隐藏的
<select>
进行交互,所以插件没有触发验证的事件触发器。编写一个自定义处理程序,它将在隐藏元素的值发生变化时以编程方式触发对隐藏元素的验证。$('select[name="mySelect"]').on('change', function() { // fires when the value changes $(this).valid(); // trigger validation on hidden select });
使用插件的 the
errorPlacement
option 将错误消息放置在动态生成的 Selectric 元件附近。