如何使用jquery检测多列表框中的更改
使用下面的代码,我可以使用add'remove按钮来添加和删除元素。现在,当这些列表框中的任何一个发生更改时,我都在尝试检测更改。我如何使用jQuery来执行此操作如何使用jquery检测多列表框中的更改,jquery,Jquery,使用下面的代码,我可以使用add'remove按钮来添加和删除元素。现在,当这些列表框中的任何一个发生更改时,我都在尝试检测更改。我如何使用jQuery来执行此操作 $(document).ready(function() { $('#btn-add').click(function(){ $('#select-from option:selected').each( function() { $('#select-to').append
$(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();
});
});
});
看起来您正在动态地添加选项,但您只需要在select中观察更改事件 所以你可以加上
//jquery 1.7.1
$('#select-to').on('change', function(){});
$('#select-from').on('change', function(){});
要监视选择更改…如果要跟踪添加选项的事件,可以在按钮的单击事件中执行此操作,该按钮也会添加/删除选项。您只需执行此操作即可
$('#select-to').change(function() {
//your onChange code here
});
$('#select-from').change(function() {
//your onChange code here
});
您可以创建自定义事件
$(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();
});
});
});
@虽然你的评论可能是准确的,但是有很多更好的表达方式。lol@iambriansreed。为什么RTFM时,你可以继续stackoverflow…免费积分;谢谢你的回答。上面只有在select元素获得焦点时才会触发。我试图实现的是在列表框上出现任何更新[add/delete]时触发函数。就像我说的,你只需在$'btn-add'中添加更多。单击函数{};调用在添加/删除时发生的更改,即更改的触发器;
$('#select-to').bind('customchange', function(){
//do whatever
});