2012-04-13 56 views
0

使用下面的代码,我可以使用add'remove按钮来添加和删除元素。现在,我试图在任何列表框中发生更改时检测更改。我如何去做这个使用jQuery?如何使用jquery检测多列表框中的更改

$(document).ready(function() { 

    $('#btn-add').click(function(){ 
     $('#select-from option:selected').each(function() { 
       $('#select-to').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>"); 
      $(this).remove(); 
     }); 
    }); 
    $('#btn-remove').click(function(){ 
     $('#select-to option:selected').each(function() { 
      $('#select-from').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>"); 
      $(this).remove(); 
     }); 
    }); 

}); 
+0

@iambriansreed虽然您的评论可能是准确的,有很多更好的说法。 – nathanjosiah 2012-04-13 15:25:34

+0

lol @iambriansreed。为什么RTFM,当你可以去stackoverflow ...免费点! ;) – RGB 2012-04-13 15:32:47

回答

0

它看起来像您选择dynmically添加选项,但你只需要观看变化事件在选择的自己..

,所以你可以添加

//jquery 1.7.1 
$('#select-to').on('change', function(){}); 
$('#select-from').on('change', function(){}); 

监控中进行选择, ...如果您想关注正在添加的选项,您可以在按钮的单击事件中添加/删除选项。

+0

感谢您的答案队友。上述只有在select元素获得焦点时触发。我试图实现的是在列表框上发生任何更新[添加/删除]后立即触发函数。 – manraj82 2012-04-13 15:40:45

+0

就像我说的,你只需要添加更多的$('#btn-add')。click(function(){});请在添加/删除时调用 – RGB 2012-04-13 15:43:54

+0

更改,这是更改的触发器;) – RGB 2012-04-13 15:47:10

0

你可以简单地做

$('#select-to').change(function() { 
    //your onChange code here 
}); 
$('#select-from').change(function() { 
    //your onChange code here 
}); 
0

您可以创建自定义事件

$(document).ready(function() {  
    $('#btn-add').click(function(){ 
     $('#select-from option:selected').each(function() { 
       $('#select-to').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>"); 
       $('#select-to,#select-from').trigger('customchange'); 
      $(this).remove(); 
     }); 
    }); 
    $('#btn-remove').click(function(){ 
     $('#select-to option:selected').each(function() { 
      $('#select-from').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>"); 
      $('#select-to,#select-from').trigger('customchange'); 
      $(this).remove(); 
     }); 
    }); 
}); 

那么任何功能绑定到该事件:

$('#select-to').bind('customchange', function(){ 
    //do whatever 
}); 
相关问题