繁体   English   中英

jQuery在一行中捕获多个表单事件?

[英]Jquery capturing multiple form events in one line?

我有以下内容来捕获id =“ form1”的form的复选框检查事件:

$('#form1 :checkbox').click(function() {
  var $this = $(this);
  alert($this.val());
}

我现在有另一个带有复选框的表单(id =“ form2”),我需要为其处理事件。 有什么方法可以将两种形式组合成一行,并且alert仍会弹出正确的值? 即像

$('#form1 OR #form2 :checkbox').click(function() {
  var $this = $(this);
  alert($this.val());
}

您可以使用多重选择器来执行此操作,如下所示:

$('#form1 :checkbox, #form2 :checkbox').click(function() {

.find() ,使其更短一些,如下所示:

$('#form1, #form2').find(':checkbox').click(function() {

尝试这个:

$('#form1, #form2').find('input:checkbox').click(function() { ... });


编辑:这是一个旁注,但使用'input:checkbox'而不是':checkbox'。 这允许选择器引擎仅筛选作为复选框的输入标签,而不是作为复选框的所有标签,因此速度更快。

有什么方法可以将两种形式组合成一行,并且警报仍会弹出正确的值?

是:

使用逗号

$('#form1 :checkbox, #form2 :checkbox').click(function() {
  var $this = $(this);
  alert($this.val());
};

或使用add方法

$('#form1 :checkbox').add('#form2 :checkbox').click(function() {
  var $this = $(this);
  alert($this.val());
};

更多信息:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM