code_junkie

Moving items in Dual Listboxes

Nov 11th, 2011
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. document.getElementById('moveTrigger').onclick = function() {
  2.  
  3. var listTwo = document.getElementById('secondList');
  4. var options = document.getElementById('firstList').getElementsByTagName('option');
  5.  
  6. while(options.length != 0) {
  7. listTwo.appendChild(options[0]);
  8. }
  9.  
  10. }
  11.  
  12. $('#firstSelect option:selected').appendTo('#secondSelect');
  13.  
  14. function Move(inputControl)
  15. {
  16. var left = document.getElementById("Left");
  17. var right = document.getElementById("Right");
  18. var from, to;
  19. var bAll = false;
  20. switch (inputControl.value)
  21. {
  22. case '<<':
  23. bAll = true;
  24. // Fall through
  25. case '<':
  26. from = right; to = left;
  27. break;
  28. case '>>':
  29. bAll = true;
  30. // Fall through
  31. case '>':
  32. from = left; to = right;
  33. break;
  34. default:
  35. alert("Check your HTML!");
  36. }
  37. for (var i = from.length - 1; i >= 0; i--)
  38. {
  39. var o = from.options[i];
  40. if (bAll || o.selected)
  41. {
  42. from.remove(i);
  43. try
  44. {
  45. to.add(o, null); // Standard method, fails in IE (6&7 at least)
  46. }
  47. catch (e)
  48. {
  49. to.add(o); // IE only
  50. }
  51. }
  52. }
  53. }
  54.  
  55. <select id="Left" multiple="multiple" size="10">
  56. <option>Some</option>
  57. <option>List</option>
  58. <option>Of</option>
  59. <option>Items</option>
  60. <option>To</option>
  61. <option>Move</option>
  62. <option>Around</option>
  63. </select>
  64.  
  65. <div id="Toolbar">
  66. <input type="button" value=">" onclick="Move(this)"/>
  67. <input type="button" value=">>" onclick="Move(this)"/>
  68. <input type="button" value="<<" onclick="Move(this)"/>
  69. <input type="button" value="<" onclick="Move(this)"/>
  70. </div>
  71.  
  72. <select id="Right" multiple="multiple" size="10">
  73. </select>
  74.  
  75. select { width: 200px; float: left; }
  76. #Toolbar { width: 50px; float: left; text-align: center; padding-top: 30px; }
  77. #Toolbar input { width: 40px; }
Add Comment
Please, Sign In to add comment