藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 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>&nbsp;</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]

可以啊




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com