将一个jQuery更改事件应用于无限可能的html输入,对所有输入使用相同的id?

将一个jQuery更改事件应用于无限可能的html输入,对所有输入使用相同的id?,jquery,Jquery,我需要有能力让用户点击一个“+”,它会在无限扩展的下拉列表集合中添加一个新的下拉列表。如果我给它们所有相同的id,jQuery更改事件会知道哪一个调用了基于$(this)的更改事件,还是需要为页面生存期内创建的每个新下拉列表都提供一个新id …如果有另一个控件必须与更改的下拉列表相关,那么如果它们都具有相同的id,是否有方法知道哪个控件与该控件相关?(想象两个下拉列表并排排列,其中更改第一个下拉列表会更改第二个下拉列表上的选项,因此这就像一个无限扩展的下拉列表对集合,它们相互关联)不要给它们相同

我需要有能力让用户点击一个“+”,它会在无限扩展的下拉列表集合中添加一个新的下拉列表。如果我给它们所有相同的id,jQuery更改事件会知道哪一个调用了基于$(this)的更改事件,还是需要为页面生存期内创建的每个新下拉列表都提供一个新id


…如果有另一个控件必须与更改的下拉列表相关,那么如果它们都具有相同的id,是否有方法知道哪个控件与该控件相关?(想象两个下拉列表并排排列,其中更改第一个下拉列表会更改第二个下拉列表上的选项,因此这就像一个无限扩展的下拉列表对集合,它们相互关联)

不要给它们相同的
ID
,因为这是无效的,也不会起作用。给他们相同的

不要给他们相同的
ID
,因为这样做无效且不起作用。在id属性上为它们指定相同的

此属性为元素指定名称。此名称在文档中必须是唯一的

因此:为了避免意外行为,最好保持您的ID的唯一性

如果在事件中使用JQuery的$(this),JQuery“将知道”是哪一个调用它:

$('#id').change(function(){
  $(this).doWhatYouWantCauseAPirateIsFree();
});
// or
$('.class').change(function(){
  $(this).doWhatYouWantCauseAPirateIsFree();
});
上的文档可帮助您找到用于查找要更改的元素的正确函数。

在id属性上:

此属性为元素指定名称。此名称在文档中必须是唯一的

因此:为了避免意外行为,最好保持您的ID的唯一性

如果在事件中使用JQuery的$(this),JQuery“将知道”是哪一个调用它:

$('#id').change(function(){
  $(this).doWhatYouWantCauseAPirateIsFree();
});
// or
$('.class').change(function(){
  $(this).doWhatYouWantCauseAPirateIsFree();
});

上的文档可帮助您找到用于查找要更改的元素的正确函数。

使用类属性,而不是id。如果使用特定类为每个项定义函数,则该函数可以访问$(this)以确定要执行的操作

$(".my-class").each(function(){
    var current_plus = $(this);
    //now do something with the variable
});

使用class属性而不是id。如果使用特定类为每个项定义函数,则该函数可以访问$(this)以确定要执行的操作

$(".my-class").each(function(){
    var current_plus = $(this);
    //now do something with the variable
});

jQuery是否能够分辨出哪一个调用了更改事件?如何生成无限新id、[id]+[incrementing variable]?您不需要id,就像我说的那样。不希望所有元素都具有相同的类名。通过这种方式,您可以使用一个简单的选择器将它们全部选中。是的,jQuery将知道哪个元素通过
触发了事件,jQuery能够判断哪个元素调用了更改事件吗?如何创建无限新id、[id]+[incrementing variable]?您不需要id,就像我说的那样。不希望所有元素都具有相同的类名。通过这种方式,您可以使用一个简单的选择器将它们全部选中。是的,jQuery将通过
this
ok知道哪个元素触发了事件。。。那么,我如何实现所描述的功能呢?jquery如何知道哪个元素调用了change函数,这样我就可以用ajax依次更改元素或相关元素?您可以在函数中使用jquery的$(this)。它将引用正确的元素。有没有办法利用$(this)引用附近的控件?比如$(this)会让我知道哪个元素调用了它,但是如果我想根据对第一个元素的更改来更改另一个元素,比如更改下拉列表会更改它旁边的链接,那么有没有一种简便的方法将调用事件的元素与另一个元素关联起来呢?例如,可以使用sibles()。最好的地方是:好的,知道了。。。那么,我如何实现所描述的功能呢?jquery如何知道哪个元素调用了change函数,这样我就可以用ajax依次更改元素或相关元素?您可以在函数中使用jquery的$(this)。它将引用正确的元素。有没有办法利用$(this)引用附近的控件?比如$(this)会让我知道哪个元素调用了它,但是如果我想根据对第一个元素的更改来更改另一个元素,比如更改下拉列表会更改它旁边的链接,那么有没有一种简便的方法将调用事件的元素与另一个元素关联起来呢?例如,可以使用sibles()。要了解更多关于此的信息,最好的地方是: