jquery - 堆叠:last and :checked jQuery selectors together

标签 jquery validation checkbox checked

我正在尝试为复选框设置自定义验证。我有 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/

相关文章:

jQuery 超大不垂直拉伸(stretch)

javascript - JQuery:.remove() 无法正常工作

javascript - 在显示页面之前运行脚本

php - 验证 IBAN PHP

jquery - 如何将验证引擎应用到我的表单?

c# - 使用 C# 一键选中复选框列表中的所有复选框

javascript - 具有固定宽度侧边栏的灵活布局

validation - Angular2 自定义表单验证器在类中失去对 `this` 的访问权限

javascript - 如何使用 Javascript 将带有复选框的列表更改为下拉列表?

javascript - 符合标准的权威 JavaScript 验证