下载首页下载分类最近更新排 行 榜国产软件国外软件汉化补丁本站论坛BT下载页
  • 设为首页
  • 收藏本站
  • 联系我们
您的位置:首页网页制作JS/Ajax → 收集整理些有用的JAVASCRIPT小知识
收集整理些有用的JAVASCRIPT小知识
出处:本站整理 作者:佚名 日期:2007-5-7 17:27:37 人气: [ ]

二、排序的小代码
   做到排序时,我第一个想到的笨方法是手动输入,后来考虑到分类可能会很多,于是就想到了用过的那种点击向上、向下按钮就自动向上和向下的东东,例如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] 下一页
相关文章
相关软件
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
关于本站 | 广告服务 | 版权声明 | 联系我们 | | 联系我 | 交流群:1361692 7710545
本站部分带宽由:华夏名网武汉IDC数据中心 赞助[排名不分先后] Powered By 零度软件园
本站软件均来源于网络,仅供学习所用。若侵犯了你的权益,请立即通知我们,我们将第一时间删除!