我正在尝试为复选框设置自定义验证。我有 7 个复选框,每个复选框都有相同的名称,我想确定最后一个是否被选中。这是我的代码,我知道它是错误的,任何人都可以阐明如何正确地将 :last 和 :checked 选择器堆叠在一起吗?
$.validator.addMethod('ObserverOtherBox',function(v, e) {
return ($('[[name="4_observers"]:last]:checked').length == 1) && ($('[name="4_observerstxt"]').length == 0) ;
}, 'Please enter the other observers');
最佳答案
您可以像这样堆叠选择器:
$('[name="4_observers"]:last:checked')
只需将它们附加在一起,没有空格,这适用于所有选择器,无论是:
$('[name="4_observers"][id=4][rel=bob]')
// or:
$(':input:checkbox:last:checked')
或者当然这些都是糟糕的实际选择器,但你明白了:)
另外,你可以像这样编写你的特定代码,我认为更清晰一点:
$.validator.addMethod('ObserverOtherBox',function(v, e) {
return $('[name="4_observers"]:last').is(':checked')
&& $('[name="4_observerstxt"]').length == 0;
}, 'Please enter the other observers');
关于jquery - 堆叠:last and :checked jQuery selectors together,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595282/