|
藍森林 http://www.lslnet.com 2006年8月25日 8:28
請教的問題!
我現在用select的實現一個手動排序的功能.上移下移的功能都實現了,現在的問題是當下移時超過一屏(25行)後,scrollbar不動,也顯示不出來!請問這個問題何解?代碼如下:
[html]
<script language="javascript">
oOption = document.createElement("OPTION");
function loadItem(from){
//alert(from);
for(i=0;i<101;i++){
oOption = document.createElement("OPTION");
oOption.text="line"+i;
oOption.value=i;
from.add(oOption);
oOption=null;
}
}
</script>
<BODY onLoad="loadItem(dirSort.available_function)">
<SCRIPT language=javascript>
<!--
//oOption = document.createElement("OPTION");
//oOption.text="Apples";
//oOption.value="5";
//document.all.oMyList.add(oOption);
function moveUp(from) {
selectedOption = new Array();
preOption = new Array();
for(i=0; i<from.options.length; i++) {
if (from.options[i].selected) {
selectedOption[selectedOption.length] = cloneOption(from.options[i]);
if(i==0){
return ;
}
preOption[preOption.length] = cloneOption(from.options[i-1]);
//from.options[i] = null;
i--;
break;
}
}
from.options[i] = selectedOption[0];
from.options[i+1] = preOption[0]
}
function moveDown(from) {
selectedOption = new Array();
nextOption = new Array();
for(i=0; i<from.options.length; i++) {
if (from.options[i].selected) {
selectedOption[selectedOption.length] = cloneOption(from.options[i]);
if(i==(from.options.length)-1){
return ;
}
nextOption[nextOption.length] = cloneOption(from.options[i+1]);
//from.options[i] = null;
i++;
break;
}
}
from.options[i] = selectedOption[0];
from.options[i-1] = nextOption[0]
}
function moveFirst(from) {
backupOption = new Array();
m=1;
for(i=0; i<from.options.length; i++) {
if (from.options[i].selected) {
backupOption[0] = cloneOption(from.options[i]);
if(i==0){
return ;
}
}else{
backupOption[m] = cloneOption(from.options[i]);
m++;
}
}
for(i=0; i<from.options.length; i++) {
from.options[i] = backupOption[i];
}
}
function moveLast(from) {
backupOption = new Array();
m=0;
for(i=0; i<from.options.length; i++) {
if (from.options[i].selected) {
backupOption[(from.options.length)-1] = cloneOption(from.options[i]);
if(i==(from.options.length)-1){
return ;
}
}else{
backupOption[m] = cloneOption(from.options[i]);
m++;
}
}
for(i=0; i<from.options.length; i++) {
from.options[i] = backupOption[i];
}
}
function cloneOption(option) {
var out = new Option(option.text,option.value);
out.selected = option.selected;
out.defaultSelected = option.defaultSelected;
return out;
}
function done(tag){
var dirId = "";
var dirIndex = "" ;
for(j=0;j<tag.options.length;j++){
if(j==0){
dirId += tag.options[j].value
dirIndex += j
}else{
dirId+=","+tag.options[j].value
dirIndex += ","+j
}
}
//window.close()
//alert("receiveId===="+dirIndex);
document.dirSort.dirId.value=dirId ;
document.dirSort.dirIndex.value=dirIndex ;
dirSort.submit();
//window.close()
}
function setScrolltop(form){
alert(form.scrollTop);
}
{}
-->
</SCRIPT>
<FORM name=dirSort action=DirSort method=post>
<TABLE>
<TBODY>
<TR bgColor=#ffffff>
<TD width="80%"><FONT size=2><B>知識庫目錄排序</B></FONT><BR><SELECT
style="WIDTH: 250px" multiple size=25 name=available_function> <OPTION
value=20040514163019182311>test1</OPTION></SELECT> </TD>
<TD width="20%">
<TABLE valign="top">
<TBODY>
<TR>
<TD height=20></TD></TR>
<TR>
<TD><INPUT class=button style="WIDTH: 50px" onclick=moveUp(document.dirSort.available_function) type=button value=向上 name=up>
</TD></TR>
<TR>
<TD><INPUT class=button style="WIDTH: 50px" onclick=moveDown(document.dirSort.available_function) type=button value=向下 name=down>
</TD></TR>
<TR>
<TD><INPUT class=button style="WIDTH: 50px" onclick=moveFirst(document.dirSort.available_function) type=button value=頂層 name=first>
</TD></TR>
<TR>
<TD><INPUT class=button style="WIDTH: 50px" onclick=moveLast(document.dirSort.available_function) type=button value=底層 name=last>
</TD></TR>
<TR>
<TD height=30> </TD></TR>
<TR>
<TD><INPUT class=button style="WIDTH: 50px" onclick=done(available_function) type=button value=確定 name=last>
</TD></TR>
<TR>
<TD><INPUT class=button style="WIDTH: 50px" onclick=javascript:window.close() type=button value=取消 name=last>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><INPUT type=hidden
name=dirId> <INPUT type=hidden name=dirIndex> </FORM>
<SCRIPT language=javascript>
// document.dirSort.available_function.options[0].selected = true;
</SCRIPT>
</BODY>[/html] |
可以啊
|
|