如果选中单选框或选择菜单更改运行自定义js功能

时间:2013-10-14 09:54:48

标签: javascript jquery jquery-selectors

我正在尝试运行只在以下情况之一执行的函数: 1)已选择/更改其中一个单选复选框    要么 2)当选择菜单被更改时

我有两个逻辑..

jQuery('.myselect').change(function(e) {
  alert('do something');
});

jQuery('mycheckbox:checked').each(function() {
  alert('do something');
});

如果选择已更改或选择/更改了单选框,如何修改此运行alert()?

更新 这似乎工作.. 把do_ajax类放在select&复选框并运行以下内容。

    jQuery('.do_ajax').change(function(e) {
          alert('do something');
    });

2 个答案:

答案 0 :(得分:0)

jQuery('.myselect').change(function(e) {
    method();
});

jQuery('mycheckbox:checked').each(function (){
    method();
});


function method(){
   alert('do something');
}

我认为你必须在两种情况下调用相同的函数

答案 1 :(得分:0)

虽然你已经接受了答案,但在我写这个答案的时候,我建议以下可能更合适,因为问题是的方式表明你希望change事件触发操作,而不是遍历:checked无线电 - input元素,然后触发该操作。也就是说,我建议使用绑定到多个元素的on()方法:

function logThis(e){
    console.log("You triggered the " + e.type + " event on a " + e.target.tagName.toLowerCase() + " element.");
}

$('select, input[type="radio"]').on('change', function(e){
    logThis(e);
});

JS Fiddle demo

参考文献: