jQuery,如果任何“one”值发生变化

时间:2011-08-11 21:40:31

标签: javascript jquery jquery-selectors

我有一段代码,当一组表单值发生变化时,这个人写了30个函数。

我希望将它们组成一个函数

$('#jobs_held').change(function() {
// do something, with a little variation
});

$('#residence_years').change(function() {
// do something, with a little variation
});

$('#how_long').change(function() {
// do something, with a little variation
});

无论如何我可以做点像......

$('#jobs_held', '#residence_years', '#how_long').change(function(){
// do something, with a little variation
});

3 个答案:

答案 0 :(得分:6)

将它们加入单个字符串以使用multiple-selector[docs]

$('#jobs_held,#residence_years,#how_long').change(function(){
    // do something, with a little variation

    // "this" can be used to refer to the specific element 
    //     that received the event.

    alert( this.id ); // to alert the ID of the element
});

...或者找一些像班级这样的共同身份来全部选择它们。

答案 1 :(得分:3)

给他们所有的课程,例如“问题”,然后只是$('.question').change(function() {});

如果需要根据类型改变,可以访问函数中已更改元素的id。

编辑:我建议使用多方选择的类方法,因为它更容易维护(你可以添加元素到HTML而不回来编辑JS)。但是,这是真的,多选择更符合实际问题。而且,如果改变HTML是更好的解决方案。

答案 2 :(得分:1)

$('#jobs_held,#residence_years,#how_long').change(function(){
// do something, with a little variation
});