只是想不通......(从一连串的网络搜索来看,我不是唯一一个。)否则我的 jQT 验证工作正常;只是不适用于收音机——我要做的就是确认至少有一个按钮被点击了。我一直在尝试通过 $.tools.validator.fn 设置自定义验证功能,但我找不到适合用于选择器的东西。查看源代码时我运气不佳。有什么建议吗?谢谢!
3 回答
我让它工作。他们没有在 jQueryTools Validator 文档中提供任何单选按钮示例:http: //jquerytools.org/documentation/validator/index.html
这是相关的源代码。
在页眉中,包括:
<script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>
<script>
$(document).ready(function() {
$("#myform").validator();
});
</script>`
在页面正文中:
<form id="myform" name="myform" method="post" action="next-page.php">
<label>Option One</label>
<input type="radio" required="required" name="RadioGroup1" id="RadioButton_1" />
<label>Option Two</label>
<input type="radio" required="required" name="RadioGroup1" id="RadioButton_2" />
<label>Option Three</label>
<input type="radio" required="required" name="RadioGroup1" id="RadioButton_3" />
<input type="submit" name="continue_to_next_page" id="submit" value="Continue" />
</form>
让我们知道它是否适合您。
我不得不承认这是一个 hack,需要根据您的需要进行调整。这是我想出的,可能有更好的选择。
示例标记:
<form action="" id="theForm">
<fieldset>
<input type="radio" name="sex" value="male" id="male" class="requiredCheckbox" /> <label for="male">Male</label><br />
<input type="radio" name="sex" value="female" id="female" /> <label for="female">Female</label><br/>
<input type="radio" name="sex" value="unknown" id="unknown" /> <label for="unknown">Unknown</label>
</fieldset>
<input type="button" id="validate" value="Validate" />
</form>
带有自定义验证方法和一点hacky的Javascript:
$.validator.addMethod('requiredCheckbox', function (val, elt) {
var valid = false;
$('input[name=' + $(elt).attr('name') + ']:radio').each(function(inx, elt) {
if (elt.checked === true) {
valid = true;
return;
}
});
return valid;
}, 'Select at least one checkbox');
var options = {
errorPlacement: function(error, elt) {
$(elt).before(error);
},
errorElement: 'div'
};
var validator = $('#theForm').validate(options );
$('#validate').click(function() {
$('#theForm').valid();
});
这是带有工作示例的 JSFiddle:http: //jsfiddle.net/9DRcz/
不过要解决的有趣问题:-)
我在哪里(或最终):
我放弃了尝试让 jQuery 工具中的验证内容与单选按钮一起使用。
@MK_Dev 让我走上了使用 jQuery Validation 插件 ( http://bassistance.de/jquery-plugins/jquery-plugin-validation/ ) 的道路上,非常感谢。但是,不需要他回答中的其他方法——我通过加载验证插件来获得单选按钮验证,为其中一个单选按钮提供“必需”类,并在表单上调用 .validate() 。工作正常。
@jason 对使用 jQuery 验证插件验证单选按钮组的参考也得到了回报。我对这一切的最后一点困惑是,该页面上有一些关于如何不需要 bassistance 验证插件的讨论——jQuery (1.3.2??) 可以自己进行验证。可能是,但我想不通。
无论如何,我现在有一些工作验证,这比我今天早些时候可以说的要多。谢谢大家!