用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 网页制作教程 > Javascript教程 > 正文
收集整理些有用的JAVASCRIPT小知识
iTbulo.COM 2007-3-1 新浪博客()
二、排序的小代码
   做到排序时,我第一个想到的笨方法是手动输入,后来考虑到分类可能会很多,于是就想到了用过的那种点击向上、向下按钮就自动向上和向下的东东,例如qq空间里头播放器排序。
   于是上网搜了一下,结果很遗憾,调数据库的没有。没办法只得自己研究了一个。用起来也还行,自我感觉差不了多少。
代码如下:

以下是引用片段:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../conn.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Untitled Document</title>
<STYLE type=text/css>TD {
 FONT-SIZE: 12px
}
SELECT {
 FONT-SIZE: 12px
}
INPUT {
 FONT-SIZE: 12px
}
A {
 TEXT-DECORATION: none
}
A:hover {
 COLOR: #c90000; TEXT-DECORATION: none
}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
//window.onload = initPage;
//function initPage()
//{
 //   BTnPutUp.onclick    = putUp;
 //   BTnPutDown.onclick    = putDown;
 //   BTnGoUp.onclick    = goUp;
  //  BTnGoDown.onclick    = goDown;
//}
function putUp()
{
    var strTempValue;
    var strTempText;
    var intCurIndex;
   
    intCurIndex = document.paixu.sltFruit.selectedIndex;
    //alert("intCurIndex: " + intCurIndex);
    if (intCurIndex > 0)
    {
        strTempValue= document.paixu.sltFruit.options.item(intCurIndex).value;
        strTempText    = document.paixu.sltFruit.options.item(intCurIndex).text;
  strTemp=document.paixu.sltFruit.options.item(intCurIndex - 1).value
      //  alert(strTempText + " - " + strTempValue);
       
        document.paixu.sltFruit.options.item(intCurIndex).value    = document.paixu.sltFruit.options.item(intCurIndex - 1).value;
        document.paixu.sltFruit.options.item(intCurIndex).text= document.paixu.sltFruit.options.item(intCurIndex - 1).text;
        document.paixu.sltFruit.options.item(intCurIndex - 1).value= strTempValue;
        document.paixu.sltFruit.options.item(intCurIndex - 1).text= strTempText;
       document.paixu.sltFruit.selectedIndex = intCurIndex - 1;
    intCur=intCurIndex - 1
    //shang=eval("document.paixu."+"slt"+intCurIndex+".value")-1;
    eval("document.paixu."+"slt"+intCurIndex+".value=strTemp")
    //xia=eval("document.paixu."+"slt"+intCur+".value")-(-1);
    eval("document.paixu."+"slt"+intCur+".value=strTempValue")
    //alert( ss);
    //document.paixu.slt"+intCurIndex+".value=eval("document.paixu."+"slt"+intCurIndex+".value")-1;
    //document.paixu."slt"+intCurIndex+".value"=document.paixu.("slt"+intCurIndex).value-1;
    }
}
function putDown()
{
    var strTempValue;
    var strTempText;
    var intCurIndex;
    var intIndexCount;
   
    intCurIndex    = document.paixu.sltFruit.selectedIndex;
    intIndexCount    = document.paixu.sltFruit.length;
 
    //alert("intCurIndex: " + intCurIndex);
    //alert("intIndexCount: " + intIndexCount);
   
    if (intCurIndex < intIndexCount - 1)
    {
        strTempValue= document.paixu.sltFruit.options.item(intCurIndex).value;
        strTempText    = document.paixu.sltFruit.options.item(intCurIndex).text;
  strTemp=document.paixu.sltFruit.options.item(intCurIndex +1).value
        //alert(strTempText + " - " + strTempValue);
       
        document.paixu.sltFruit.options.item(intCurIndex).value    = document.paixu.sltFruit.options.item(intCurIndex + 1).value;
        document.paixu.sltFruit.options.item(intCurIndex).text        = document.paixu.sltFruit.options.item(intCurIndex + 1).text;
       document.paixu.sltFruit.options.item(intCurIndex + 1).value= strTempValue;
        document.paixu.sltFruit.options.item(intCurIndex + 1).text    = strTempText;
        document.paixu.sltFruit.selectedIndex = intCurIndex + 1;
   intCur=intCurIndex + 1
    //shang=eval("document.paixu."+"slt"+intCurIndex+".value")-1;
    eval("document.paixu."+"slt"+intCurIndex+".value=strTemp")
    //xia=eval("document.paixu."+"slt"+intCur+".value")-(-1);
    eval("document.paixu."+"slt"+intCur+".value=strTempValue")
    }
}
function goUp()
{
    var intCurIndex;
    intCurIndex = sltCountry.selectedIndex;
    if (intCurIndex > 0)
        sltCountry.selectedIndex = intCurIndex - 1;
}
function goDown()
{
    var intCurIndex;
    var intIndexCount;
   
    intCurIndex        = sltCountry.selectedIndex;
    intIndexCount    = sltCountry.length;
   
    if (intCurIndex < intIndexCount - 1)
        sltCountry.selectedIndex = intCurIndex + 1;
}
//-->
</SCRIPT>
<body>
<%'存储数据库的过程
n=trim(request("num"))
if n<>"" then
 i=1
 y=0
 do while not n<0
 conn.execute("update BigClass_New set paixu="&i&" where BigClassID="&trim(request(("slt")&y))&"")
'我用的办法是在数据库表里加个字段定义排序,然后显示时就靠它了
'trim(request(("slt")&y))是动态获取input的值,做循环的的时候
'都这么用
 n=n-1
 i=i+1
 y=y+1
 loop
 response.Write("<SCRIPT>alert('修改成功');location='News_ClassManage.asp';</SCRIPT>")
 'response.End()
else
%>
<div align="center">
<table class="border" border="0" cellspacing="2" width="620" cellpadding="0" style="word-break:break-all">
          <%
Set rs= Server.CreateObject("ADODB.Recordset")
sql="select * from BigClass_New order by paixu"
rs.open sql,conn,1,1
if not rs.eof then
'我的数据库表名叫BigClass_New%>
<form name="paixu" method="post" action="News_ClassPaixu.asp">
    <tr bgcolor="#A4B6D7" class="title">
            <td width="50%" height="55" align="right">
   <div align="right">
   <SELECT NAME="sltFruit" size="<%=rs.recordcount%>">
   <%do while not rs.eof %>
   <OPTION VALUE="<%=trim(rs("BigClassID"))%>"><%=trim(rs("BigClassName"))%></OPTION>
   <%rs.movenext
   loop%>
   </SELECT>
   
   </div>
   </td>
            <td width="40"  height="25" align="center">
   <INPUT TYPE="BUTTON" ID="BTnPutUp" VALUE="上移"  onClick="javascript:return putUp();">
   <INPUT TYPE="BUTTON" ID="BTnPutDown" VALUE="下移" onClick="javascript:return putDown();">
   </td>
          </tr>
    <%rs.movefirst
   i=0
   do while not rs.eof %>
   <input type="hidden" name="slt<%=i%>" value="<%=trim(rs("BigClassID"))%>">
   <%
   rs.movenext
   i=i+1
   loop%>
   <input type="hidden" name="num" value="<%=i-1%>">
     <tr bgcolor="#A4B6D7" class="title">
            <td width="560" height="55" align="center" colspan="2">
    <input type="submit" name="save" value="保存">
   </td>
          </tr>
    </form>
   <%else%>
   <tr bgcolor="#A4B6D7" class="title">
            <td width="36" height="55" align="center" colspan="2">
   <%response.Write("请先输入大类!")%>
   </td>
          </tr>
   </table>
   </div>
<%end if%>

<%end if%>
</body>
</html>
原理是按照BigClass_New表循环定义input,input的值就是目前的排序,这样就与select里的值对应起来了。再运行函数,使上下移动时,增减input里的值,也就是按照select里的排序顺序,修改了input里的值,这样再存储到库里的就是正确的排序了。

 
不晓得我这样的表达算不算清楚。哈哈!
暂时就举这么两个例子吧。
最后补充一句:不会您就百度吧。

上一页  [1] [2] 

文章搜索
相关资讯
相关文章 相关下载
用来实现Web页面图片移动托拽的代码段
开发跨浏览器JavaScript时要注意的问题
javascript分页
JavaScript技巧:让网页自动穿上外套
实例:使用Javascript制作声音按钮
焦点信息