2015-05-12 60 views
0

如果用戶從一個列表框移動到其他列表框時,如果它已經在列表中可用,請建議如何覆蓋列表中的項目。爲列表框項目提供的javascript

+0

爲什麼要預加載列表/選擇上正確的? –

+0

我沒有預加載,它的用戶可以從左側列表框中選擇項目,用戶可以在右側列表框中查看選定的項目。 @DavieBrown – scrit

回答

1

你可以使用jQuery的insertAfter

$(document).ready(function(){ 
    $('.addtoright').on('click',function(e){ 
     e.preventDefault(); 
     $('#s option:selected').each(function(){ 
      if($('#d option:contains("'+$(this).text()+'")').length > 0){ 
       $(this).remove(); 
      }else{ 
       if($('#d option').length > 0){ 
        $(this).insertAfter('#d option:last'); 
       }else{ 
        $(this).appendTo('#d'); 
       }    
      } 
     }); 
    }); 
    $('.addtoleft').on('click',function(e){ 
     e.preventDefault(); 
     $('#d option:selected').each(function(){ 
      if($('#s option:contains("'+$(this).text()+'")').length > 0){ 
       $(this).remove(); 
      }else{ 
       if($('#s option').length > 0){ 
       $(this).insertAfter('#s option:last'); 
       }else{ 
        $(this).appendTo('#s'); 
       } 
      } 
     }); 
     }); 
}); 

DEMO HERE

不要忘記階級addtoright添加到右箭頭和addtoleft向左箭頭

+0

但是,如果項目在列表中存在,它不會覆蓋該項目。例如,阿富汗已經在這兩個列表中,當我加入右邊時,它應該覆蓋已有的但不能再次顯示的列表。當我添加它時,它會在列表中顯示兩次。我的要求是重寫項目,如果它已經可用。謝謝。 @ Mohamed-Yousef – scrit

+0

@scrit更新回答 –

+0

感謝它工作:) @ Mohamed-Yousef – scrit