select.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. var XMLHttpReq;
  2. function createXMLHttpRequest() {
  3. if (window.XMLHttpRequest) {
  4. XMLHttpReq = new XMLHttpRequest();
  5. } else if (window.ActiveXObject) {
  6. try {
  7. XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
  8. } catch (e) {
  9. try {
  10. XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  11. } catch (e) {
  12. }
  13. }
  14. }
  15. }
  16. function BuildSel(str, sel, id, name) {
  17. sel.options.length = 0;
  18. if (id.length == 0) {
  19. sel.options[sel.options.length] = new Option('')
  20. return;
  21. }
  22. var arrstr = new Array();
  23. arrstr = str.split(",");
  24. for (var i = 0; i < id.length; i++) {
  25. sel.options[sel.options.length] = new Option(name(i).text, id(i).text);
  26. }
  27. document.all.role2.options.length = 0;
  28. }
  29. sortitems = 1;
  30. function move(fbox, tbox) {
  31. for (var i = 0; i < fbox.options.length; i++) {
  32. if (fbox.options[i].selected && fbox.options[i].value != "") {
  33. var no = new Option();
  34. no.value = fbox.options[i].value;
  35. no.text = fbox.options[i].text;
  36. tbox.options[tbox.options.length] = no;
  37. fbox.options[i].value = "";
  38. fbox.options[i].text = "";
  39. }
  40. }
  41. BumpUp(fbox);
  42. if (sortitems)
  43. SortD(tbox);
  44. }
  45. function BumpUp(box) {
  46. for (var i = 0; i < box.options.length; i++) {
  47. if (box.options[i].value == "") {
  48. for (var j = i; j < box.options.length - 1; j++) {
  49. box.options[j].value = box.options[j + 1].value;
  50. box.options[j].text = box.options[j + 1].text;
  51. }
  52. var ln = i;
  53. break;
  54. }
  55. }
  56. if (ln < box.options.length) {
  57. box.options.length -= 1;
  58. BumpUp(box);
  59. }
  60. }
  61. function SortD(box) {
  62. var temp_opts = new Array();
  63. var temp = new Object();
  64. for (var i = 0; i < box.options.length; i++) {
  65. temp_opts[i] = box.options[i];
  66. }
  67. for (var x = 0; x < temp_opts.length - 1; x++) {
  68. for (var y = (x + 1); y < temp_opts.length; y++) {
  69. if (temp_opts[x].text > temp_opts[y].text) {
  70. temp = temp_opts[x].text;
  71. temp_opts[x].text = temp_opts[y].text;
  72. temp_opts[y].text = temp;
  73. temp = temp_opts[x].value;
  74. temp_opts[x].value = temp_opts[y].value;
  75. temp_opts[y].value = temp;
  76. }
  77. }
  78. }
  79. for (var i = 0; i < box.options.length; i++) {
  80. box.options[i].value = temp_opts[i].value;
  81. box.options[i].text = temp_opts[i].text;
  82. }
  83. }