Sắp xếp lại các options trong drop list 2007-07-19 19:06:24

Sắp xếp lại vị trí của các option trong select
Demo:
<script>function hasOptions(obj) {if (obj!=null && obj.options!=null) { return true; }return false;}function moveOptionUp(obj) {if (!hasOptions(obj)) { return; }for (i=0; i<obj.options.length; i++) {  if (obj.options[i].selected) {  if (i != 0 && !obj.options[i-1].selected) {    swapOptions(obj,i,i-1);    obj.options[i-1].selected = true;    }  }  }}function swapOptions(obj,i,j) {var o = obj.options;var i_selected = o[i].selected;var j_selected = o[j].selected;var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected); var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);o[i] = temp2;o[j] = temp;o[i].selected = j_selected;o[j].selected = i_selected;} function moveOptionDown(obj) {if (!hasOptions(obj)) { return; }for (i=obj.options.length-1; i>=0; i--) {  if (obj.options[i].selected) {  if (i != (obj.options.length-1) && ! obj.options[i+1].selected) {    swapOptions(obj,i,i+1);    obj.options[i+1].selected = true;    }  }  }}  </script>
  <form id="form1" name="form1" method="post" action="">
  <select name="updownlist" size="7" multiple="multiple">
  <option value="Option 2">Option 2</option><option value="Option 5">Option 5</option><option value="Option 1">Option 1</option><option value="Option 3">Option 3</option><option value="Option 4">Option 4</option><option value="Option 5"> Option 5
  </option><option value="Option 6"> Option 6
  </option><option value="Option 7"> Option 7
  </option><option value="Option 8"> Option 8
  </option><option value="Option 9"> Option 9
  </option><option value="Option 10"> Option 10
  </option><option value="Option 11"> Option 11
  </option><option value="Option 12"> Option 12
</option></select><br />
  <input value=" Up " onClick="moveOptionUp(this.form['updownlist'])" type="button">

<input value="Down" onClick="moveOptionDown(this.form['updownlist'])" type="button">
  </form>
Code:

<script>
function hasOptions(obj) {
if (obj!=null && obj.options!=null) { return true; }
return false;
}

function moveOptionUp(obj) {
if (!hasOptions(obj)) { return; }
for (i=0; i<obj.options.length; i++) {
if (obj.options[i].selected) {
if (i != 0 && !obj.options[i-1].selected) {
swapOptions(obj,i,i-1);
obj.options[i-1].selected = true;
}
}
}
}
function swapOptions(obj,i,j) {
var o = obj.options;
var i_selected = o[i].selected;
var j_selected = o[j].selected;
var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
o[i] = temp2;
o[j] = temp;
o[i].selected = j_selected;
o[j].selected = i_selected;
}
function moveOptionDown(obj) {
if (!hasOptions(obj)) { return; }
for (i=obj.options.length-1; i>=0; i--) {
if (obj.options[i].selected) {
if (i != (obj.options.length-1) && ! obj.options[i+1].selected) {
swapOptions(obj,i,i+1);
obj.options[i+1].selected = true;
}
}
}
}
  </script>
  <form id="form1" name="form1" method="post" action="">
  <select name="updownlist" size="7" multiple="multiple">
<option value="Option 2">Option 2</option><option value="Option 5">Option 5</option><option value="Option 1">Option 1</option><option value="Option 3">Option 3</option><option value="Option 4">Option 4</option><option value="Option 5"> Option 5
</option><option value="Option 6"> Option 6
</option><option value="Option 7"> Option 7
</option><option value="Option 8"> Option 8
</option><option value="Option 9"> Option 9
</option><option value="Option 10"> Option 10
</option><option value="Option 11"> Option 11
</option><option value="Option 12"> Option 12
</option></select><br />
<input value=" Up " onClick="moveOptionUp(this.form['updownlist'])" type="button">

<input value="Down" onClick="moveOptionDown(this.form['updownlist'])" type="button">
  </form>
  

Tra loi 0 comment(s) TG 2007-07-19 19:06:24