Javascript 验证动态单选按钮jQuery
问题:我无法验证动态创建的单选按钮 问题:如何使用jQuery验证单选按钮 是否可以自定义jQuery以验证动态创建的单选按钮 有什么建议吗 我的表单中的HTML和PHPJavascript 验证动态单选按钮jQuery,javascript,php,jquery,html,jquery-validate,Javascript,Php,Jquery,Html,Jquery Validate,问题:我无法验证动态创建的单选按钮 问题:如何使用jQuery验证单选按钮 是否可以自定义jQuery以验证动态创建的单选按钮 有什么建议吗 我的表单中的HTML和PHP <label class="radio"> <input type="radio" name='radnummer_varde[<?php echo $kk['radnummer'];?>]' value='1' <?php if (($hamta_formaga['radnumme
<label class="radio">
<input type="radio" name='radnummer_varde[<?php echo $kk['radnummer'];?>]' value='1' <?php if (($hamta_formaga['radnummer_varde'] == '1')) echo 'checked="checked" '; ?>>
<i class="rounded-x"></i>Prövas
</label>
<label class="radio">
<input type="radio" name='radnummer_varde[<?php echo $kk['radnummer'];?>]' value='0' <?php if (($hamta_formaga['radnummer_varde'] == '0')) echo 'checked="checked" '; ?>>
<i class="rounded-x"></i>Prövas ej
</label>
编辑2015-03-27:
选择2
<label class="radio">
<input type="radio" name='radnummer_varde[<?php echo $kk['radnummer'];?>]' value='1' <?php if (($hamta_formaga['radnummer_varde'] == '1')) echo 'checked="checked" '; ?>>
<i class="rounded-x"></i>Prövas
</label>
<label class="radio">
<input type="radio" name='radnummer_varde[<?php echo $kk['radnummer'];?>]' value='0' <?php if (($hamta_formaga['radnummer_varde'] == '0')) echo 'checked="checked" '; ?>>
<i class="rounded-x"></i>Prövas ej
</label>
<script type="text/javascript">
$(document).ready(function () {
$('#redigera_abb').validate({});
$('[name="radnummer_varde[<?php echo $kk['radnummer'];?>]"]').rules('add', {
required: true,
messages: {
required: "At least one option needed."
}
});
});
</script>
>
普罗瓦斯
>
普罗瓦斯ej
$(文档).ready(函数(){
$('redigera_abb')。验证({});
$('[name=“radnummer_varde[]]”)。规则('add'{
要求:正确,
信息:{
必需:“至少需要一个选项。”
}
});
});
“是否可以自定义jQuery以验证动态创建的单选按钮?”
是的,这与向任何动态创建的元素添加验证没有什么不同
首先,让我们检查这部分代码
var AbbRedigeraForm = function () {
return {
initAbbRedigeraForm: function () {
// Validation
$("#redigera_abb").validate({
// Regler för validation
rules:
{
'radnummer_varde[]':
{
required: true
},
....
.validate()
放入函数内部。这是而不是测试方法.validate()
是初始化方法。因此,.validate()
只进入DOM就绪处理程序中,在该处理程序中调用一次来初始化表单上的插件。否则,当您需要验证时,验证尚未准备就绪,并且/或者重复调用.validate()
方法.validate()
的规则
选项中声明规则。由于radnummer\u varde[]
不是实际的名称
,因此此规则声明不起任何作用动态创建元素的解决方案 选项1:只需将规则声明与元素内联,而不是在
.validate()中使用规则
选项。对于required
规则,您可以使用class
或HTML5required
属性,如下所示
<input type="radio" name='radnummer_varde[1]' class="required" ...
选项3:您的元素不是真正“动态”创建的,但您事先不知道确切的名称。使用“从开始”选择器获取所有这些元素,使用jQuery.each()
将该方法应用于所有元素
$('[name^="radnummer_varde"]').each(function() {
$(this).rules('add', {
required: true,
messages: { // optional
required: "custom message"
}
});
});
注释:
无论您如何声明规则,每个输入都必须包含名称
属性
使用.rules()
不会否定.validate()
方法的使用。在调用.rules()
之前,您必须已经在表单上调用了.validate()
来初始化插件
如果附加到.rules()
的选择器同时以一组元素为目标,则必须使用jQuery。each()
函数,否则插件将只使用第一个匹配的元素
“如何使用jQuery验证单选按钮?”
我注意到,在某些情况下,单选按钮的HTML可能包含checked=“checked”
。请注意,如果单选按钮按选中的方式加载到页面中,则验证无需执行,因为已满足required
规则
“是否可以自定义jQuery以验证动态创建的单选按钮?”
是的,这与向任何动态创建的元素添加验证没有什么不同
首先,让我们检查这部分代码
var AbbRedigeraForm = function () {
return {
initAbbRedigeraForm: function () {
// Validation
$("#redigera_abb").validate({
// Regler för validation
rules:
{
'radnummer_varde[]':
{
required: true
},
....
通常不会将.validate()
放入函数内部。这是而不是测试方法.validate()
是初始化方法。因此,.validate()
只进入DOM就绪处理程序中,在该处理程序中调用一次来初始化表单上的插件。否则,当您需要验证时,验证尚未准备就绪,并且/或者重复调用.validate()
方法
如果没有元素的确切名称,则不能在.validate()
的规则
选项中声明规则。由于radnummer\u varde[]
不是实际的名称
,因此此规则声明不起任何作用
次要的一点,但您永远不应该在JavaScript中使用Allman样式的代码格式。为什么?因为。对于熟悉JavaScript更典型的1TB格式的人来说,这也使代码更难阅读
动态创建元素的解决方案
选项1:只需将规则声明与元素内联,而不是在.validate()中使用规则
选项。对于required
规则,您可以使用class
或HTML5required
属性,如下所示
<input type="radio" name='radnummer_varde[1]' class="required" ...
选项3:您的元素不是真正“动态”创建的,但您事先不知道确切的名称。使用“从开始”选择器获取所有这些元素,使用jQuery.each()
将该方法应用于所有元素
$('[name^="radnummer_varde"]').each(function() {
$(this).rules('add', {
required: true,
messages: { // optional
required: "custom message"
}
});
});
注释:
无论您如何声明规则,每个输入都必须包含名称
属性
使用.rules()
不会否定.validate()
方法的使用。在调用之前,您必须已在表单上调用.validate()
来初始化插件