2012-04-13 16 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 
}); 
相關問題